I have a blog that has a redirect loop, and I can’t understand htaccess too well right now (late, and needs to be done by the AM) so am hoping for a quick fix. The site is throwing 301s from xxxxx.org to xxxxx.org/index.php, and back to the beginning. The htaccess file is as follows:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
redirect 301 /index.html http://www.lawyersclearinghouse.org/index.php
The site was recently listed on google as malicious due to an iFrame injection, so please don’t feel the need to visit it (cleaned, but not yet delisted)
Your rewrite conditions are combined with a logical OR so they will apply in all cases. If the file is a plain file it will not be a directory and vice versa.
Your rule is also odd. Are you trying to match all cases? in that case it should presumable be .* (any string of characters) rather than . (any single character)