我有一个托管设置,我的主域名是 domain1.com 。将其他域列表添加为别名,例如 domain2.com 和 domain3.com 。访问例如 domain2.com 时,浏览器中的URL仍然是domain2.com,但我希望它是我的主域名。
因此,我想将请求重定向到除domain1.com到domain1.com之外的所有其他域。如何使用 RewriteEngine ?
执行此操作我正在尝试这个:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.)?domain1.com$ [NC]
RewriteRule .* http://www.domain1.com/$1 [L,NC]
它工作正常,但我希望 domain2.com/folder 重定向到 domain1.com/folder 。
答案 0 :(得分:1)
好的,如果你的设置工作正常,除了在重写过程中忽略url路径的问题,那么我建议你按照规则的要求添加括号:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.)?domain1.com$ [NC]
RewriteRule (.*) http://www.domain1.com/$1 [L,NC]
如果要调试重写内容,最好使用日志记录。这样,您就可以逐步了解重写引擎内部实际发生的情况。您需要两个命令RewriteLog
和RewriteLogLevel
,这也将在文档中进行深入解释。