有人可以检查我写的这个正则表达式,它做了我想要实现的,但我不确定这是否是正确的方法,如果它不会减慢一切
这就是应该做的事情:
如果URL路径仅比域名长 如果它在开头不包含字符串“/ de”或“/ en” 那么301它只到域名
这就是我写的:
RewriteCond %{HTTP_HOST} !^(www\.)?example\.com$
RewriteCond %{HTTP_HOST} ^(?!.*(/de|/en))
RewriteRule .* http://example.com/ [L,R=301]
......有更好的方法来实现这一目标吗?
谢谢! URS
答案 0 :(得分:2)
我假设你做了一个“mindfart”,第二个cond应该读%{REQUEST_URI}
否则没有意义,因为HTTP_HOST永远不会包含/
在运行时它几乎没有什么区别,但如果写成
则更容易理解RewriteCond %{REQUEST_URI} !(/de|/en)