I am using the following .htaccess code:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ca/(.+)$ /index.php?p=$1&c=ca [L,QSA]
RewriteRule ^fr/(.+)$ /index.php?p=$1&c=fr [L,QSA]
RewriteRule ^(.+)$ /index.php?p=$1 [L,QSA]
In order to achieve the following effect:
http://xyz.com/ca/test -> http://xyz.com/index.php?p=test&c=ca
http://xyz.com/fr/test -> http://xyz.com/index.php?p=test&c=fr
http://xyz.com/test -> http://xyz.com/index.php?p=test
But it is failing with a server error. Any ideas on how to fix it?
Thanks
RewriteCondconditions only apply to theRewriteRulethat immediately follows the condition(s). Your last 2 rules don’t have any conditions on them and the rules are looping. Just add the 2 conditions in front of the last 2 rules: