首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将域和子文件夹重定向到新域htaccess

问将域和子文件夹重定向到新域htaccess
EN

Stack Overflow用户
提问于 2012-09-26 07:50:36
回答 1查看 1.5K关注 0票数 2

我有4个域名,我想他们中的3重定向到最后一个。我已经使用了一些htaccess规则,它们工作得很好,

代码语言:javascript
复制
RewriteEngine On

RewriteCond %{HTTP_HOST} ^first.com$ [NC]
RewriteRule ^(.*) http://www.forth.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^www.first.com [NC]
RewriteRule ^(.*)$ http://www.forth.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^second.com [NC]
RewriteRule ^(.*)$ http://www.forth.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^www.second.com [NC]
RewriteRule ^(.*)$ http://www.forth.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^www.third.com [NC]
RewriteRule ^(.*)$ http://www.forth.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^third.com [NC]
RewriteRule ^(.*)$ http://www.forth.com/$1 [L,R=301]

唯一的问题是,当我输入"www.first.com/about“时,它没有显示"www.forth.com/about”,只是显示了相同的内容。所有的域名都转发到forth.com,他们没有主机,所以我不能把那些其他域名的htaccess文件,请指导。将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2012-09-27 04:44:41

这是最有可能发生的事情,至少在我的测试用例中,这个修复可以处理它。

而不是使用L,R=301颠倒顺序,执行R=301,L。L表示最后,它结束计算在该点上要做什么的循环。我总是使用R=301,L,因为这是我在任何地方都能找到的例子。您的apache可能会命中L,并立即将新字符串传回URL解析器,而不会将其作为301重定向发送,因为它并没有走那么远。

同样,在上面的first.com代码片段中,您遗漏了^(.*)上的$-只是对于该行,不确定这是一个拼写错误还是在实际的.htaccess文件中丢失了它。

否则,您可以使用以下命令对其进行整理:

代码语言:javascript
复制
RewriteCond %{HTTP_HOST} ^((www.)?)first.com [NC,OR]
RewriteCond %{HTTP_HOST} ^((www.)?)second.com [NC,OR]
RewriteCond %{HTTP_HOST} ^((www.)?)third.com [NC]
RewriteRule ^(.*)$ http://www.forth.com/$1 [R=301,L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12592723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档