使用.htaccess将特定子域名页面重定向至主域名页面
解决Blogger子域名到WordPress主域名的重定向问题
嗨,这个需求用Apache的mod_rewrite就能完美搞定,下面是你需要添加到.htaccess文件里的配置条目:
RewriteEngine On RewriteCond %{HTTP_HOST} ^subdomain\.mydomain\.com$ RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]
各部分的作用解释:
RewriteEngine On:首先开启URL重写引擎,这是所有重写规则生效的前提。RewriteCond %{HTTP_HOST} ^subdomain\.mydomain\.com$:这条条件用来匹配所有请求主机为subdomain.mydomain.com的访问(注意正则里的点号需要用反斜杠转义,因为点在正则中是通配符)。RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]:^(.*)$:匹配请求URL中域名后面的所有路径部分(比如/post1)。https://mydomain.com/$1:把匹配到的路径部分拼接到主域名后面,形成新的目标URL。[R=301,L]:R=301表示永久重定向,对SEO非常友好,告诉搜索引擎更新索引;L表示这是最后一条规则,匹配后不再处理后续规则。
额外注意事项:
- 确保你的Apache服务器已经启用了
mod_rewrite模块,大多数主流主机默认都开启了,如果规则不生效可以联系主机服务商确认。 - 如果你的站点还在使用HTTP(不推荐),把目标URL里的
https://改成http://即可。 - 建议把这些规则放在
.htaccess文件的最顶部,避免被其他WordPress自带的规则干扰。 - 配置完成后,可以用浏览器开发者工具的“网络”面板测试,确认访问旧域名的链接时返回301状态码,并且成功跳转到主域名的对应路径。
内容的提问来源于stack exchange,提问作者Shawn Hodgson
相关产品推荐
相关产品推荐

