如何使用 UniServer 在本地主机上使用 .htaccess 删除尾部斜杠

如何使用 UniServer 在本地主机上使用 .htaccess 删除尾部斜杠

我想删除 URL 的最后一个斜杠。例如:我想http://localhost/mysite/page/重写为http://localhost/mysite/page

我正在本地主机 .htaccess 上使用此代码。

Options +FollowSymLinks
RewriteEngine   on
RewriteRule ^([a-zA-Z0-9_-]+)/$ $1 [R=301,L]
RewriteRule ^([a-zA-Z0-9_-]+)$ web.php?page=$1

如果我在浏览器上输入http://localhost/mysite/index,它会显示我想要的内容。但如果我输入,http://localhost/mysite/index/它会告诉我“未找到”和“在此服务器上未找到请求的 URL”。我在 Windows 8 上使用 UniServer。

答案1

尝试一下这个:

# Remove trailing slash if not an existing directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]

# Rewrite to use web.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ web.php?page=$1 [L]

如果第二条规则已经运行良好,则可能不需要更改它。

答案2

添加这一行就可以了

RewriteRule ^(.*)/$ /mysite/$1 [R,L]

相关内容