Catfish
Catfish

Reputation: 19284

Remove file extensions from urls

I've never used mod_rewrite but i want to remove all file extensions from my urls for a website. What is the rule that i would need to do this?

I've tried this, but that gives me an internal error every time i click a link on my website

RewriteRule ^(.*)$ $1.php [L]

Upvotes: 2

Views: 1668

Answers (2)

bradym
bradym

Reputation: 4961

What you want to do is first check if the file exists, this will prevent the infinite loop that is causing the 500 error. It will also make other non-php file requests work (ie: images, css, etc).

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

Upvotes: 1

Delan Azabani
Delan Azabani

Reputation: 81384

Options +MultiViews is probably a better option for this. With that option enabled, Apache will intelligently rewrite the extension.

Upvotes: 5

Related Questions