在 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= [QSA,L]

我的 URL 看起来像这样:

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

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

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

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

谢谢, -保罗

RewriteEngine On 下方插入此规则:

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

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

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