在S.O.上找不到这个问题的答案(如果重复的话很抱歉)
(localhost)/MySites/. htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) compiler.php?id=$1
请求//localhost/MySites/Example.com/
在我的浏览器上工作。
请求//localhost/MySites/Example.com
(没有尾斜杠' /
')重定向(地址栏实际更改)到//localhost/MySites/Example.com/?id=Example.com
与尾斜杠/?id=Example.com
。
它为什么这样做?违背了"漂亮的url"的目的。
您可以使用:
DirectorySlash Off
DirectoryIndex index.php index.html
RewriteEngine on
RewriteBase /MySites/
# add a trailing slash for directories
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) compiler.php?id=$1 [L,QSA]