Reputation: 57
Here is my HTAccess so far:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ $1.html [L,QSA]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L,QSA]
RewriteRule ^en-gb/(.*)$ /site/pages/default/$1 [QSA]
RewriteRule ^en-us/(.*)$ /site/pages/default/$1 [QSA]
RewriteRule ^en-au/(.*)$ /site/pages/default/$1 [QSA]
When I access my site in the following formats its fine: http://mywebsite.com/en-gb/news?query=blahblah http://mywebsite.com/en-gb/news
But when I enter my site in the following format: http://mywebsite.com/en-gb/news/
it gives me with an 500 Error, I don't understand why.
Update: Apache Error Log
[Wed Jun 10 17:29:40.722436 2015] [core:error] [pid 7528:tid 1644] [client 127.0.0.1:3439] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Wed Jun 10 17:29:40.722436 2015] [core:error] [pid 7528:tid 1644] [client 127.0.0.1:3439] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Thanks in advance.
Upvotes: 0
Views: 42
Reputation: 785128
Reorder your rules and tweak your rule regex pattern:
RewriteEngine on
RewriteRule ^en-(?:us|au|gb)/(.*)$ /site/pages/default/$1 [L,NC]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteCond %{DOCUMENT_ROOT}/$1\.html -f [NC]
RewriteRule ^(.+?)/?$ $1.html [L,QSA]
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L,QSA]
Upvotes: 1