This is my htaccess file:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Static pages
RewriteRule ^print/([0-9]+)$ index.php?action=PublicDisplayPrint&page_id=$1 [L,QSA]
RewriteRule ^email/([0-9]+)$ index.php?action=PublicDisplayEmail&page_id=$1 [L,QSA]
RewriteRule ^login$ index.php?action=PublicDisplayLogin [L,QSA]
RewriteRule ^search$ index.php?action=PublicDisplaySearch [L,QSA]
RewriteRule ^feedback$ index.php?action=PublicDisplayFeedback [L,QSA]
RewriteRule ^sitemap$ index.php?action=PublicDisplaySitemap [L,QSA]
# Dynamic pages
RewriteRule ^(.*)$ index.php?action=PublicDisplayPage&url=$1 [L,QSA]
It seems to be calling the dynamic page rule on any file (logo.gif for example) so it doesn’t seem to be running the 2nd and 3rd line. Any ideas?
The condition of a
RewriteConddirective does only belong to the first followingRewriteRuledirective. So in this case the twoRewriteCondconditions do only apply to the firstRewriteRuleand not to the other rules, especially not to the last rule.So put the
RewriteConddirectives immediately in front of the the lastRewriteRuledirective: