问题
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:
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]
回答2:
Options +MultiViews
is probably a better option for this. With that option enabled, Apache will intelligently rewrite the extension.
来源:https://stackoverflow.com/questions/3869242/remove-file-extensions-from-urls