用/使用.htaccess替换URL中的.php

时间:2014-06-21 23:45:54

标签: regex apache .htaccess mod-rewrite

我一直在寻找一个解决方案,用/使用.htaccess替换URL中的.php。大多数解决方案根本不适合我(没有重写URL,甚至只是为了删除.php),直到我在SO上找到这个漂亮的解决方案。

https://stackoverflow.com/a/11084526/1724376

现在我的问题是它只删除了.php,但没有用“/”替换它。我尝试过很多没有运气的东西,但我对htaccess和重写条件等知之甚少。我真的希望有人可以帮助我。

就这样,我没有因为没有尝试任何东西而被投票,这是我尝试的但是根本没有重写URL。

RewriteCond /%{REQUEST_FILENAME}.php -f
RewriteRule ^([a-zA-Z0-9_-\s]+)/$ /$1.php

将非常感谢帮助。

编辑:澄清一下,我想www.mysite.com/contact.php显示为www.mysite.com/contact /

1 个答案:

答案 0 :(得分:1)

你的规则如下:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1/ [R=302,L,NE]

RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]