有些虚拟主机是不支持直接用二级域名(m.dedehtml.com)绑定到指定的目录的,
我们可以借助.htaccess (Apache主机)或者 web.config (IIS7/IIS8) 或者nginx虚拟主机伪静态功能来实现织梦子目录(m)做手机站。
1、主机绑定好域名
如果添加二级域名出现“操作异常”,去勾
2、域名也绑定好主机
3、在电脑站根目录(即网站根目录)下放入伪静态规则文件
.htaccess (Apache主机)文件下载
https://pan.baidu.com/s/1uaAdts_ngaNrylP847OpBA
.htaccess 内容为
RewriteEngine on
# 虚拟主机二级域名绑定到子目录 开始
RewriteCond %{HTTP_HOST} ^(www.)?m.dedehtml.com$
RewriteCond %{REQUEST_URI} !^/m/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /m/$1
RewriteCond %{HTTP_HOST} ^(www.)?m.dedehtml.com$
RewriteRule ^(/)?$ m/ [L]
# 虚拟主机二级域名绑定到子目录 结束复制1234567891011
m.dedehtml.com 改成你自己的二级域名,有2处。
必须要用Notepad++ 或者 Dreamweaver 或者 Sublime Text,坚决不可以用记事本打开修改。
如果无效的话,那是有的空间不支持这种写法,可以试试这种,这种可以直接www站和m站分开独立.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# 绑定m.dedehtml.com 到子目录 m
RewriteCond %{HTTP_HOST} ^m\.dedehtml\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/m/
RewriteRule ^(.*)$ m/$1?Rewrite [L,QSA]
</IfModule>复制12345678
web.config (IIS主机)文件下载
https:///app.dedehtml.com/iis主机web.config绑定二级域名到m文件夹.zip
如果你的网站目录里已经有web.config文件存在,那你可以编辑web.config加入以下代码
带参数写法
<rule name="绑定m.dedehtml.com到m文件夹" stopProcessing="true">
<match ignoreCase="false" url="^(.*)$"/>
<conditions>
<add input="{HTTP_HOST}" pattern="^m\.dedehtml\.com$"/>
<add ignoreCase="false" input="{URL}" negate="true" pattern="^/m/"/>
</conditions>
<action appendQueryString="true" type="Rewrite" url="m/{R:1}?Rewrite"/>
</rule>复制12345678
无参数只绑定到首页写法
<rule name="绑定m.dedehtml.com到m文件夹 1">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(www.)?m.dedehtml.com$" ignoreCase="false" />
<add input="{URL}" pattern="^/m/" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="/m/{R:1}" />
</rule>
<rule name="绑定m.dedehtml.com到m文件夹 2" stopProcessing="true">
<match url="^(/)?$" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(www.)?m.dedehtml.com$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="m/" />
</rule>复制1234567891011121314151617
虚拟主机nginx规则
例如,阿里云新主机-NGINX设置
if ($http_host ~* "^m\.dedehtml\.com$") {
set $rule_0 1$rule_0;
}
if ($uri !~ "^/m/") {
set $rule_0 2$rule_0;
}
if ($rule_0 = "21") {
rewrite ^/(.*)$ /m/$1?Rewrite last;
}复制123456789
如图
最终测试结果
你好