将子域和路径重定向到具有相同路径的主域

Redirect subdomain and path to main domain with same path

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

例如:

需要重定向到:

我可以重定向子域本身,这样

-blog.example.com/

但是当我尝试重定向页面时,它不会重定向也不会加载。任何人都可以阐明它吗?我目前在我的 htaccess 中有这个用于我的主要重定向:

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

我正在进行其他子域重定向,但 none 通配符重定向。

在您的示例中,您希望从

重定向
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.

进行测试