RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
所以我在我的htaccess文件中有这个来处理尾随斜杠问题。每次在URL上添加尾部斜杠时,它都会重定向您。
这里的问题是,有一个目录,它需要尾随斜杠或它中断。如何为此规则添加http://www.example.com/com/等目录的例外..
答案 0 :(得分:0)
最简单易懂的方法是使用附加条件:
RewriteCond $1 !=com
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
这是有效的,因为执行顺序是rule.regexp,cond1,cond2,rule.substitution。因此,$ 1变量可用于(新)cond1。您还可以在正则表达式上使用否定断言。
顺便说一下,在http的[R = 301]的情况下假设http://%{HTTP_HOST}/
。为什么您不想删除/
其他主机别名?