我试着去了解一些基本的重写的东西,所以我发现那位是一样的东西:使用通配符的RewriteCond结合的标志吗?
RewriteCond %{HTTP_HOST} ^example.(.+)$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
和:
RewriteCond %{HTTP_HOST} ^(www2.example.de|example.de)$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
但如果我结合它像
RewriteCond %{HTTP_HOST} ^(www2.example|example).(.+)$ [NC]
我得到由于重定向过多导致内部服务器错误。
所以,我怎么能结合使用或内部消除www和不同域的结尾:
RewriteCond %{HTTP_HOST} ^example.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.name$ [NC,OR]
RewriteCond %{HTTP_HOST} ^example.name$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.de$ [NC,OR]
RewriteCond %{HTTP_HOST} ^example.de$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
我觉得应该是很简单,但我只是不明白这一点...
“结合”他们做什么?请解释你想用mod_rewrite实现什么? – 2013-02-26 11:31:17
第一COND重定向到example.anything www.example.com和第二COND重定向www2.example.de或example.de到www.example.com,现在我想是这样(“WWW” |“”)。例如(*)将被定向至www.example.com。 – Karim 2013-03-16 00:33:12
或者,也许更容易:在我最后的代码块我有5个的RewriteCond并希望做同样在1周...的RewriteCond – Karim 2013-03-16 00:34:42