0

I'm running into a odd issue with my .htaccess where its failing to pass it to index.php. With my current rewrite rules, if I go to mysite.com/abc123 it properly redirects to the index.php passing /abc123 to the query string for index.php to process.

However, if I go to mysite.com/test I get a apache Not Found error page. I'm expecting this to go to index.php and pass test as a query string.

If I go to mysite.com/test.php it loads that file just fine as expected.

My file structure looks like this:

/
|- index.php
|- test.php
|- .htaccess

Here is my current .htaccess file:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} /([a-z\-A-Z]+)
RewriteRule .* index.php?/$0 [L,QSA]

</IfModule>

# END WordPress

<FilesMatch "\.(html|css|js|gif|jpg|jpeg|png|ico|swf)$">
    Header set Cache-Control "max-age=259200, proxy-revalidate"
</FilesMatch>  
Aaron
  • 105
  • 1
  • 7

1 Answers1

1

Remove MultiViews from Options.

Or if you cannot find where the Options directive is located, you can just add this:

Options -MultiViews
Example person
  • 3,198
  • 3
  • 18
  • 45