从 htaccess 中的 URL 中删除尾部斜杠


remove trailing slash from URL in htaccess

我把我的htaccess配置为与我用PHP编写的URL路由器一起工作。 如果从除根 URL 之外的 URL 中看到尾部斜杠,我正在尝试删除尾随斜杠。 我的htaccess文件看起来像这样:

Options -MultiViews
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?uri=$1 [QSA,L]

我的网址如下所示:

http://my-site-domain.com/login

这很好用,但尾随斜杠会导致一些问题。(例如)

http://my-site-domain.com/login/

知道如何删除传入参数但不删除根 URL 的尾部斜杠吗?

谢谢-保罗

RewriteEngine On下面插入此规则:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/$ /$1 [R=302,NE,L]

对于那些仍然遇到这个问题的人,我通过在美元符号之前的斜杠后面添加一个问号来解决我的问题,如下所示:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$ /$1 [R=302,NE,L]