RewriteEngine On # Redirect /index.php to / (optional, but recommended I guess) RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php RewriteRule ^index.php/?(.*)$ $1 [R=301,L] # Run everything else but real files through index.php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1?%{QUERY_STRING} [L]