2010-10-06 165 views
2

我从来没有使用过mod_rewrite,但我想从我的网站删除所有文件扩展名的网站。我需要这样做的规则是什么?从URL删除文件扩展名

我已经试过这一点,但是这给了我一个内部错误我每次点击一个链接在我的网站

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

回答

1

你想要做的是首先检查文件是否存在,这将防止造成500错误的无限循环。它也将使其他非PHP文件请求工作(即:图像,CSS等)。

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

所以他们只需要将我网站上的所有链接都改为不带.php扩展名是否正确? – Catfish 2010-10-11 18:27:07

+0

这是正确的。 – bradym 2010-10-12 02:02:24

5

Options +MultiViews可能是这个更好的选择。启用该选项后,Apache将智能地重写扩展。

+0

可以说我想用mod_rewrite完成。我是新人,我正在努力学习它。 – Catfish 2010-10-06 03:27:01

+0

或者你能否至少举出一个MultiViews的例子以及它的功能? – Catfish 2010-10-08 16:55:23