找不到帮助文档?你想要哪方面的帮助教程?提交文档建议 >

虚拟主机配置手机站或多网站二级域名方法

更新时间:2023-08-04 加入收藏
0

帝云CMS手机网站绑定二级域名时、创建多网站时,都需要绑定二级域名到子目录上,但有些虚拟主机是不支持域名绑定子目录的。


如果是支持.htaccess文件的虚拟主机可以使用本教程方法实现,比如Apache环境主机。


假设:

主域名:www.xxxx.com   首页目录:/
手机站域名:m.xxxx.com    首页目录:/mobile/
多站创建的英文站点域名:en.xxxx.com   首页目录:/en/

所有域名都绑定到网站主目录

实现方法:

1.1、Apache环境

在网站根目录创建.htaccess文件


添加如下代码

RewriteEngine On

# 多站插件的英文站点
RewriteCond %{HTTP_HOST} ^en.xxxx.com$
RewriteCond %{REQUEST_URI} !^/en/
RewriteRule ^(.*)$ /en/$1
RewriteCond %{HTTP_HOST} ^en.xxxx.com$
RewriteRule ^(/)?$ en/index.php [L]

# 手机域名
RewriteCond %{HTTP_HOST} ^m.xxxx.com$
RewriteCond %{REQUEST_URI} !^/mobile/
RewriteRule ^(.*)$ /mobile/$1
RewriteCond %{HTTP_HOST} ^m.xxxx.com$
RewriteRule ^(/)?$ mobile/index.php [L]

# 主域名
RewriteCond %{HTTP_HOST} ^www.xxxx.com$
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !.(js|ico|gif|jpe?g|bmp|png|css)$ /index.php [NC,L]

1.2 Nginx 

如果是宝塔Nginx环境,则在站点配置文件中添加如下规则

就是用上面的 .htaccess 中的规则转换成 Nginx,百度有很多在线转换工具

if ($http_host ~ "^en.xxxx.com$"){
    set $rule_0 1$rule_0;
}
if ($uri !~ "^/en/"){
    set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
 rewrite ^/(.*)$ /en/$1;
}
if ($http_host ~ "^en.xxxx.com$"){
    set $rule_1 1$rule_1;
}
if ($rule_1 = "1"){
 rewrite ^/(/)?$ /en/index.php last;
}
if ($http_host ~ "^m.xxxx.com$"){
    set $rule_2 1$rule_2;
}
if ($uri !~ "^/mobile/"){
    set $rule_2 2$rule_2;
}
if ($rule_2 = "21"){
 rewrite ^/(.*)$ /mobile/$1;
}
if ($http_host ~ "^m.xxxx.com$"){
    set $rule_3 1$rule_3;
}
if ($rule_3 = "1"){
 rewrite ^/(/)?$ /mobile/index.php last;
}
if ($http_host ~ "^www.xxxx.com$"){
    set $rule_4 1$rule_4;
}
if (!-f $request_filename){
    set $rule_4 2$rule_4;
}
if (!-d $request_filename){
    set $rule_4 3$rule_4;
}
if ($rule_4 = "321"){
 rewrite /!.(js|ico|gif|jpe?g|bmp|png|css)$ /index.php last;
}

image


2、在en目录与mobile目录下都要创建 .htaccess文件

填写如下代码

RewriteEngine On
RewriteBase /mobile
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !.(js|ico|gif|jpe?g|bmp|png|css)$ /index.php [NC,L]

说明:

RewriteBase /mobile

/mobile 填写正确的目录,英文站就填写 /en


3、分别打开en目录与mobile目录下的index.php文件

添加一行代码

define('FIX_WEB_DIR', 'mobile');//


4、后台伪静态设置

后台测试下每个域名伪静态都正常即可

image


已经可以了!

西部数据虚拟主机测试成功!






--
有帮助
--
没帮助
0
收藏
0
打赏
相关文档
Hello,欢迎来咨询~
点击在线咨询