对于 www.mysite.com 或 mysite.com 来说,适当的 RewriteCond 是什么?
我尝试过此操作,但浏览器中出现重定向错误
RewriteCond %{HTTP_HOST} ^(www\.mysite|mysite)\.com [NC]
编辑
<Directory /var/www/maintenance/public_html>
Options +FollowSymlinks
RewriteOptions inherit
RewriteEngine on
#
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ http://www.example.com/ [R=301,L]
RewriteCond %{HTTP_HOST} ^www.example\.com$ [NC]
RewriteRule ^/. http://www.example.com/ [R=301,L]
</Directory>
答案1
您已删除了另一个问题,该问题实际上包含有关问题的详细信息。您的 RewriteCond 正确地匹配了这两个主机名,问题是您正在重定向http://www.mysite.com/
到http://www.mysite.com/
,这就是循环的来源。只有当请求不是 时,您才需要重定向http://www.mysite.com/
。您可能需要两条规则。
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
RewriteRule ^ http://www.mysite.com/ [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$ [NC]
RewriteRule !^/?$ http://www.mysite.com/ [R=301,L]
第一条规则仅对 mysite.com 起作用,并将所有内容重定向到。http://www.mysite.com/
第二条规则仅对 www.mysite.com 起作用,并将除 之外的所有内容重定向到。(意思是匹配任意一个字符 - 因为没有任何其他字符,所以不会匹配。)/
http://www.mysite.com/
.
/