After asking this question Htaccess URLRewrite to another map That works great, but now i want to add an extra 'map', but that don't work.
My .htaccess file now:
ErrorDocument 404 /v2/404.php
ErrorDocument 404 /v2/505.php
RewriteEngine on
RewriteRule ^error/([^/]+)/?$ error.php?id=$1 [L,QSA,NC]
RewriteRule ^email/([^/]+)/?$ email.php?id=$1 [L,QSA,NC]
RewriteRule ^activate/([^/]+)/?$ activate.php?code=$1 [L,QSA,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^werknemer/([^/]+)/?$ werknemer/$1.php [L,QSA,NC]
RewriteRule ^klanten/([^/]+)/?$ klanten/$1.php [L,QSA,NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]
Always the last wont work, now RewriteRule ^klanten/ don't work, and when i do RewriteRule ^werknemer/ after RewriteRule ^klanten/, RewriteRule ^klanten/ works but RewriteRule ^werknemer/ not.
How to fix this?
Thanks! Wouter0100
You need to duplicate the 2 conditions again.
RewriteCond
's are only applied to the immediately followingRewriteRule
, so you need to duplicate the conditions if they are to be applied to more than one rule:Maybe you need it for your last rule as well:
That checks if a trailing slash exists, and to remove it before seeing if adding the
php
to the end produces an existing file.