在 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]
我将 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]