0

我尝试了解一些基本的重写内容,所以我发现的是:

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]

我认为这应该很简单,但我就是不明白...

4

1 回答 1

1

这五个代码可以组合成一个,如下所示:

RewriteCond %{HTTP_HOST} ^example\.com$               [NC,OR]
RewriteCond %{HTTP_HOST} (?:www\.)?example\.(name|de) [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
于 2013-03-16T01:56:33.077 回答