一、域名解析与绑定准备
要实现二级域名指向虚拟主机的子目录,需先完成以下基础操作:
- 在域名管理控制台添加CNAME解析记录,将二级域名(如m.example.com)指向虚拟主机IP地址
- 登录阿里云虚拟主机控制面板,在「域名绑定」功能中添加该二级域名
- 在网站根目录创建目标子目录(如/mobile),并上传网站程序文件
二、配置虚拟主机与子目录
阿里云虚拟主机默认不支持直接绑定子目录,需要通过文件路由实现:
├─ root/ │ ├─ .htaccess │ ├─ index.php │ └─ mobile/ │ └─ index.html
确保子目录具备可执行权限,建议通过FTP客户端设置755权限
三、.htaccess文件规则编写
在网站根目录创建/修改.htaccess文件,添加以下重定向规则:
RewriteEngine On RewriteCond %{HTTP_HOST} ^m\.example\.com$ [NC] RewriteCond %{REQUEST_URI} !^/mobile/ RewriteRule ^(.*)$ /mobile/$1 [L,QSA]
需特别注意:
- Windows系统需先创建txt文件再重命名
- 存在多个规则时应置于文件末尾
- 测试前清除浏览器缓存
四、多场景配置方案
针对不同框架的特殊处理:
- ThinkPHP项目:需额外添加public目录重定向
RewriteRule ^(.*)$ public/$1?Rewrite [L,QSA]
- 多站点共存:重复配置多组规则
RewriteCond %{HTTP_HOST} ^blog\.example\.com$ RewriteRule ^(.*)$ /blog/$1 [L,QSA]
通过域名解析、虚拟主机绑定、.htaccess重定向三步骤的配合,可在阿里云虚拟主机实现二级域名与子目录的精确映射。该方案适用于手机站、多语言版本、子项目部署等场景,但需注意文件权限、规则优先级等技术细节