利用.htaccess文件将多个子域名解析至对应的子目录-阿里云开发者社区

开发者社区> 云计算> 正文

利用.htaccess文件将多个子域名解析至对应的子目录

简介:

对于不支持子域名解析但是支持 .htaccess 的主机来说,这个功能就非常有用了

假设有主域名 ppios.com,子域名 yspx.ppios.com 和 ask.ppios.com,设置结果为访问 repo.ppios.com 时自动解析到 www.ppios.com/repo/ 文件夹中

下面是详细设置:
在根目录下的 .htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^((www|yspx).)?ppios.com$
RewriteCond %{REQUEST_URI} !^/yspx/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /yspx/$1
RewriteCond %{HTTP_HOST} ^((www|yspx).)?ppios.com$
RewriteRule ^(/)?$ yspx/index.html [L]

RewriteCond %{HTTP_HOST} ^((www|repo).)?ppios.com$
RewriteCond %{REQUEST_URI} !^/repo/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /repo/$1
RewriteCond %{HTTP_HOST} ^((www|repo).)?ppios.com$
RewriteRule ^(/)?$ repo/ [L]

注:标红区域请自行替换成自己的域名(若不是.com则需同时替换.com部分),绿色区域请自行替换为自己的子域名(子目录名),蓝色区域请自行设置子目录对应的首页类型,比如 repo 文件夹下主页是 index.html,则设置为 repo/index.html,也可不设置,只写 repo/

在对应子目录下的 .htaccess

RewriteEngine On
RewriteBase /repo
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /repo/ [L]
注:绿色部分自行替换为对应的子目录名,要在每一个子目录下都放置对应的 .htaccess 文件
这样就完成了通过设置 .htaccess 来将子域名解析到子目录的工作

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章