主域名重定向到子域必须用301实现,以传递权重、收录和书签流量;推荐在virtualhost中配置rewrite规则,共享主机可用.htaccess;需启用mod_rewrite、重启apache,并验证301状态码与https目标。

主域名重定向到子域(比如 example.com → blog.example.com)属于典型的永久性域名迁移,Apache 下必须用 301 实现,才能把权重、收录和书签流量完整传递过去。关键不是“能不能跳”,而是“是否被搜索引擎识别为永久转移”。配置方式取决于你用的是全局服务端配置还是站点级 .htaccess,下面分场景说明。
用虚拟主机配置做全局 301(推荐)
这是最稳定、性能最好、且能覆盖所有路径的方式。适用于宝塔、DirectAdmin 或手动编辑 Apache 配置的环境。
- 确保
mod_rewrite已启用:检查httpd.conf或apache2.conf中这行未被注释:LoadModule rewrite_module modules/mod_rewrite.so - 在对应站点的
<virtualhost></virtualhost>块内(通常在DocumentRoot下方),添加如下规则:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://blog.example.com$1 [R=301,L]
说明:
• %{HTTP_HOST} 匹配精确的主域名(不含 www);
• ^.*$ 捕获全部请求路径, 原样带到子域,保证 example.com/about → blog.example.com/about;
• [R=301,L] 表示返回 301 状态码,并终止后续重写规则。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
用 .htaccess 实现(适合共享主机或无权限改主配置时)
把文件放在网站根目录(即主域名指向的 DocumentRoot),注意服务器必须允许 .htaccess 覆盖重写功能。
- 确认主配置中该目录的
AllowOverride设置为All或至少包含FileInfo和Options - 新建或编辑
.htaccess,内容如下:
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^(.*)$ https://blog.example.com$1 [R=301,L]
说明:
• (www\.)? 同时匹配 example.com 和 www.example.com;
• 若只想重定向主域名(不带 www),去掉 (www\.)?,保留 ^example\.com$ 即可;
• 注意 .htaccess 文件名开头是点,Linux 下为隐藏文件,上传后需用 ls -a 查看。
验证与注意事项
配置保存后,必须重启 Apache(sudo systemctl restart apache2 或 sudo apachectl graceful)才能生效。
- 用浏览器访问
example.com/some-page,观察地址栏是否跳转且状态码为 301(可用 Chrome 开发者工具 → Network 标签页查看) - 用在线工具如 httpstatus.io 输入原 URL,确认响应头含
HTTP/1.1 301 Moved Permanently - 避免循环跳转:确保子域
blog.example.com的配置中没有反向重定向回主域名 - HTTPS 优先:若子域已部署 SSL,重定向目标务必用
https://,否则会先跳 HTTP 再 301 到 HTTPS,多一次跳转










