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

时间:2015-03-07 15:27:41

标签: php apache .htaccess mod-rewrite url-rewriting

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

这很有效,但是一个拖尾的slashe导致了一些问题。 (例如)

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

我知道如何删除传入的params的尾部斜杠而不是根URL吗?

谢谢, -Paul

2 个答案:

答案 0 :(得分:1)

RewriteEngine On下面插入此规则:

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

答案 1 :(得分:0)

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

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