如何从网址中删除.php扩展名

时间:2014-09-18 13:03:54

标签: apache mod-rewrite

我的服务器网站文件夹中没有.htaccess文件,所以我在我的网站上粘贴其他网站的.htaccess文件并将规则写为

RewriteRule ^terms-of-use$ terms-of-use.php [L]
RewriteRule ^privacy-policy$ privacy-policy.php [L]

但不起作用。

1 个答案:

答案 0 :(得分:5)

您可以尝试这样的事情:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

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

它会使(几乎)任何PHP文件在没有.php扩展名的情况下工作。唯一的排除是,例如:

如果您有一个名为index.php的文件和一个名为index的目录,那么它首先会更喜欢该目录(因为RewriteCond %{REQUEST_FILENAME} !-d告诉重写引擎只应用此规则,如果目标不是目录)。