views:

38

answers:

2

Hi,

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]
+1  A: 

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

Delan Azabani
Lets say i want it done with mod_rewrite though. I'm new and i'm trying to learn it.
Catfish
or can you at least give an example of MultiViews and what it does?
Catfish
+1  A: 

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]
bradym
so they i just have to change all my links in my website to NOT have the .php extension correct?
Catfish
That's correct.
bradym