我的PHP网站上有htaccess。我希望使用或不使用尾部斜杠来处理URL。
下面的代码仅适用于斜杠。
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)/$ $1.php [NC,L]
e.g。 www.mydomain.com/index/ --Works
www.mydomain.com/index - 没有工作
如果有人知道如何在没有斜线的情况下得到这个?
由于
答案 0 :(得分:1)
你有这个规则:
RewriteRule ^(.*)/$ $1.php [NC,L]
如果你想在最终用途中与/
进行匹配,那么:
ErrorDocument 404 /not-found.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
将停止重新应用相同的规则,因为$1.php
将是真实/有效的文件。
答案 1 :(得分:0)
在?
之后加/
使其成为可选项。
答案 2 :(得分:0)
修复将是
RewriteRule ^(.*)/?$ $1.php [NC,L]
答案 3 :(得分:0)
这就是我用类似的东西做的事情
RewriteRule ^(.*)/?$ /$1.php [NC,L]