我已成功修改我的.htaccess文件以删除大多数页面上的尾部斜杠,但我想知道如何免除我的主页/目录?例如:
domain.com/test/已成功重定向到domain.com/test
但是,当我点击我的域名时,它会附加根文件
domain.com/重定向到domain.com/index.php
我是否可以添加一个条件来忽略root url尾部斜杠,以便它不会尝试删除尾部斜杠并添加我的默认脚本?这是我到目前为止所做的:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
答案 0 :(得分:29)
行。经过一系列的反复试验,我回答了自己的问题。
第三行表示URI中必须有一些内容才能执行重定向,因此如果url只包含初始斜杠,则不会重定向。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} (.*)$
RewriteRule ^(.+)/$ http://www.domain.com/$1 [R=301,L]
答案 1 :(得分:17)
重定向对以/
结尾但以root:
RedirectMatch 301 ^(.+)/$ $1
答案 2 :(得分:9)
怎么样
RewriteEngine On
RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1