我一直在寻找一个解决方案,用/使用.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 /
答案 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]