Apache htaccess:exluce某个域处于重写状态
这是我的.htaccess代码 因此,如果用户类型仅为domain.com,则将重定向到www.domain.comApache htaccess:exluce某个域处于重写状态,apache,.htaccess,Apache,.htaccess,这是我的.htaccess代码 因此,如果用户类型仅为domain.com,则将重定向到www.domain.com RewriteBase / RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] 我现在的问题是,我有一个指向同一个域路径的新域 因此,即使是新域也会“透明地”重定向到domain.com 如何从该规则中排除某些域名 谢谢 您可以
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
我现在的问题是,我有一个指向同一个域路径的新域
因此,即使是新域也会“透明地”重定向到domain.com
如何从该规则中排除某些域名
谢谢 您可以尝试将重写设置为通用,这样所有不是以
www
开头的请求都会被重定向,而是在正确的/请求的域上
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
或者,您可以检查域是否以domain.com
开头:
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com [L,R=301]
希望这能有所帮助。谢谢你的回答。你能一部分一部分地描述代码吗?第一个密码,回答得很好。详细解释您的语法将使这成为一个极好的答案。只是说说而已。:)OP试图将多个域重定向到同一路径,但是原始的
RewriteCond
专门查找单个域(例如www.domain.com)。我的第一个例子是,将任何不以www.
开头的域重定向到带有www.
前缀的请求路径。RewriteRule
通过使用RewriteCond
中正则表达式的第一个组来实现这一点,这就是%1
实现的$
用于引用重写规则
表达式的组,而%
用于引用重写条件
的组。希望这能澄清问题。[NC]
是什么意思?