Example: My Site gets called like that:


Now, .htaccess needs to rewrite this URL into:


But the problem is: In case of an img, css or js directory, no redirection should happen.

How can I achieve this? I only know the mod-rewrite engine is my friend here.


To complete Khal Weir's answer, the resulting rule should be something like :

RewriteBase /
RewriteCond %{REQUEST_URI}!^(/css/|/js/|/images/|/robots.txt)
RewriteRule . /index.php/ [L]

Either you filter it as the other recommended it or you filter for files existing on the hard drive:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php/ [L]

These days most CMS systems filter it like this.

  • +1 This is actually a "better" way to do it than what I proposed. Feb 12 '10 at 17:08

You can do something like the following:

RewriteCond $1 !^(css|js|images|robots\.txt)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.