2016-06-07 132 views
0

我最近停止为我的博客使用子域名,我需要将使用该域名的所有链接转发到相同链接路径,但在我的主域名上。将子域名和路径重定向到具有相同路径的主域名

实施例是:

  • blog.example.com/blog/sales/blog-title

需要重定向到:

  • www.example.com/blog/sales/blog-title

我可以重定向子域本身,所以

-blog.example.com/

  • www.example.com/blog

但只要我尝试重定向页面它不重定向并且不加载。任何人都可以点亮它吗?我现在有这在我的htaccess对我的主要重定向:

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

我有其他子域名重定向回事,但没有通配符重定向。

+1

你在哪里使用这些规则?在root/blog/.htaccess中? – starkeen

+0

没有这是在我的WordPress的网站的根,博客是包含在页面路径它不是一个文件夹 –

+0

你是否收到404错误? – starkeen

回答

1

在你的榜样,要重定向从

blog.example.com/blog/sales/blog-title 

www.example.com/blog/sales/blog-title 

但在你的规则,你插入的替代部分其他子目录blog,这给

www.example.com/blog/blog/sales/blog-title 
而不是

,结果是错误404。

要重定向从一个域到另一个完全相同的请求路径,使用

RewriteCond %{HTTP_HOST} ^blog\.example\.com$ [NC] 
RewriteRule^http://www.example.com%{REQUEST_URI} [L,R] 

当它工作,因为它应该,你可以用R=301取代R。切勿使用R=301进行测试。

+0

这对我很有用,非常感谢您的帮助! –

相关问题