Linux共享主机下如何实现主域名路径自动转发至子域名同路径
主域名全局路径跳转子域名最优实现方案(Linux共享主机环境)
你推测的通过.htaccess配置实现是当前共享主机环境下的最优方案,无需修改服务端核心配置、支持全局路径自动匹配,具体实现规则如下:
前置检查
首先确认你的共享主机已开启mod_rewrite模块,主流Linux共享主机(如搭载cPanel面板的主机)默认已开启该功能,可直接使用以下配置。
具体配置步骤
- 进入主域名
example.com对应的站点根目录,找到.htaccess文件(如果没有可以新建一个空白文件,文件名注意带开头的点) - 在文件最开头添加以下规则:
RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^(.*)$ https://sub.example.com/$1 [L,R=301,NC]
规则说明
RewriteEngine On:启用URL重写引擎RewriteCond %{HTTP_HOST} ^example\.com$ [NC]:匹配所有请求域名为example.com的访问,NC标识表示忽略域名大小写RewriteRule ^(.*)$ https://sub.example.com/$1 [L,R=301,NC]:^(.*)$匹配所有路径的请求,自动捕获路径参数到$1R=301标识为永久重定向,对SEO更友好,若仅需临时测试可改为R=302L标识当前规则匹配成功后不再执行后续重写规则- 自动保留原路径所有内容,包括路径后缀、查询参数等,完全满足
example.com/page自动跳转到sub.example.com/page的需求
可选可视化配置方案
如果你的主机提供cPanel管理面板,也可以直接通过面板功能配置:
- 进入cPanel的「重定向」功能页
- 重定向类型选择
永久(301) - 站点选择主域名
example.com - 跳转目标地址填写
https://sub.example.com - 勾选「重定向时包含路径」选项,保存后会自动生成等效的
.htaccess规则
注意事项
- 配置完成后如果没有立即生效,可清除浏览器缓存后再测试,301永久重定向会被浏览器默认缓存
- 请将示例中的
example.com、sub.example.com替换为你自己的实际域名 - 若你的站点未启用HTTPS,可将规则中的
https改为http
内容的提问来源于stack exchange,提问作者Angus Glassford
相关产品推荐
相关产品推荐

