使用相同路径将子域和路径重定向到主域

时间:2016-06-07 19:07:00

标签: wordpress .htaccess redirect mod-rewrite wildcard-subdomain

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

示例:

  • 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 个答案:

答案 0 :(得分:2)

在您的示例中,您想要从

重定向
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替换为R=301。切勿使用R=301进行测试。