无法在网址(.htaccess)末尾删除斜杠

时间:2019-10-02 07:14:34

标签: apache .htaccess url redirect

我阅读了一些有关htaccess问题的Stackoverflow帖子,但我什么都没解决。 我有这个:

RewriteEngine On
RewriteRule ^(.+?)/(.+?)/(.+?)/$ /index.php?page=$1&p1=$2&p2=$3 [L]
RewriteRule ^(.+?)/(.+?)/$ /index.php?page=$1&p1=$2 [L]
RewriteRule ^(.+?)/$ /index.php?page=$1

每个网站路径都需要最后一个斜杠(例如:www.site.com/test/)。如果没有,他们就会出错。 如何删除没有错误的最后一个斜杠,并且都重定向到这种格式(如果有最后一个斜杠)? 谢谢

1 个答案:

答案 0 :(得分:0)

假设您要删除'page ='之后的'/',则下面的方法应该可行。 RewriteRule模式与主机名后的部分匹配,后者包括'/'。注意'RewriteRule ^'之后的'/'。

RewriteEngine On
RewriteRule ^/(.+?)/(.+?)/(.+?)/$ /index.php?page=$1&p1=$2&p2=$3 [L]
RewriteRule ^/(.+?)/(.+?)/$ /index.php?page=$1&p1=$2 [L]
RewriteRule ^/(.+?)/$ /index.php?page=$1