重定向

解决阿里云万网虚拟主机不支持子目录绑定

阿里云虚拟主机利用.htaccess绑定二级域名到子目录

温馨提示:DedeCMS用户请及时前往织梦官网处理官方版权事宜。
解决阿里云万网虚拟主机不支持子目录绑定

1、首选进入域名的控制面板,解析一个二级域名出来,由于手机站的域名一般都是m开头的,所以我就解析了一个m的域名,然后记录值为pc站点的IP地址。

2、进入pc站所在的虚拟主机控制面板,然后添加一个绑定域名(如:m.zhimatong.com)

3、在本地建个txt文件,复制下面的代码修改替换你要绑的域名和目录,并传到pc网站根目录下,然后再改成为.htaccess。注:在Windows系统下无法创建只有扩展名没有名字的文件,只能上传后修改。

下面是以 m.zhimatong.com 绑定到子目录 m为例的.htaccess代码,如下:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# 绑定 m.zhimatong.com 到子目录 m
RewriteCond %{HTTP_HOST} ^m\.zhimatong\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/m/
RewriteRule ^(.*)$ m/$1?Rewrite [L,QSA]
#可以绑定多个 只需重复上三行代码并更改一下域名、目录名 就好了
</IfModule>

把上面的代码生成的.htaccess文件放到网站的根目录下就能正常访问了,但注意一个问题:如果你先前的网站里面也用到.htaccess文件的话,一定要把这些代码加到原来的.htaccess文件最后面。也有很多程序会自己生成.htaccess文件,大家一定要注意。

4、现在你的子域名应该可以访问了,但是还是会有一些小bug,所以这个时候你还需要多增加一个.htaccess文件上传至m的子目录下(目录的名字可以自定义)。

5、子目录下的.htaccess代码如下:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#只许绑定的域名访问
RewriteCond %{HTTP_HOST} !^m\.zhimatong\.com$ [NC]
RewriteRule (.*) http://m.zhimatong.com/$1 [L,R=301]
#对绑定目录下与 同名的目录的处理
RewriteCond %{REQUEST_URI} ^\/m\/ [NC]
RewriteCond %{QUERY_STRING} !^(.*)?Rewrite
RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA]
</IfModule>

本文属原创,转载请注明原文:https://www.zhimatong.com/jiaocheng/392.html

为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。

内容有用

联系
顾问

在线
客服
账号登录

没有账号?立即注册

忘记密码

登录即同意用户协议没有账号? 立即注册
账号注册
我已阅读并同意用户协议
立即注册
注册即同意用户协议已有账号? 立即登录
找回密码

操作步骤:邮箱验证->设置新密码

注册即同意用户协议已有账号? 立即登录