- 服务器端配置:告诉Web服务器(如Apache或Nginx)如何将形如
/m/的URL重写为真实的PHP文件路径。 - 织梦后台配置:告诉织梦系统使用伪静态规则,并生成对应的链接。
第一步:服务器端配置
这是最关键的一步,你需要根据你的服务器环境选择对应的配置方法。
使用 Nginx 服务器 (推荐,现在主流虚拟主机和云服务器大多用Nginx)
Nginx的配置非常高效,你需要修改Nginx的配置文件(通常是 nginx.conf 或站点配置文件 yourdomain.conf),在 server 块内添加以下规则。
完整的Nginx伪静态规则(手机站):
server {
# ... 其他你的服务器配置 ...
# 手机站伪静态规则开始
if ($host ~* "^www\.yourdomain\.com$") {
rewrite ^/m/(.*)$ /m/index.php?$1 last;
}
if ($host ~* "^(.*)\.yourdomain\.com$") {
rewrite ^/m/(.*)$ /m/index.php?$1 last;
}
# 手机站伪静态规则结束
# ... 其他你的服务器配置 ...
}
规则解释:
if ($host ~* ...): 判断访问的域名是否匹配。yourdomain.com请替换成你自己的域名。rewrite ^/m/(.*)$ /m/index.php?$1 last;: 这是核心重写规则。^/m/(.*)$: 匹配所有以/m/开头的URL,并将其后的所有内容()捕获到一个变量($1)中。/m/index.php?$1: 将捕获到的内容作为查询参数,重写到/m/index.php。last: 停止处理当前的rewrite规则,并根据重写后的URL继续搜索匹配的location规则。
如何应用配置:
- 将上述代码添加到你的Nginx配置文件中。
- 保存文件。
- 执行命令
nginx -s reload或重启Nginx服务使配置生效,如果你使用的是虚拟主机,请联系你的主机商帮你添加。
使用 Apache 服务器
Apache的配置通常通过 .htaccess 文件实现,这对于使用虚拟主机的用户非常方便。
确保 Apache 开启了 mod_rewrite 模块
大多数虚拟主机默认已开启,如果你自己管理服务器,可以通过 apache2ctl -M 命令检查。
创建或修改 /m/ 目录下的 .htaccess 文件
在你的网站根目录下,找到 m 文件夹,在里面创建一个名为 .htaccess 的文件(如果已存在则编辑它)。
完整的Apache .htaccess 规则(手机站):
<IfModule mod_rewrite.c> RewriteEngine On # 绑定域名到手机版,如果你的手机站是独立子域名,这里需要调整 # RewriteBase /m/ # 将所有请求重写到 index.php RewriteRule ^(.)$ index\.php?$1 [QSA,PT,L] </IfModule>
规则解释:
RewriteEngine On: 开启URL重写引擎。RewriteRule ^(.)$ index\.php?$1 [QSA,PT,L]: 核心重写规则。^(.)$: 匹配当前目录(/m/)下的所有路径。index\.php?$1: 将匹配到的路径作为查询参数,重写到index.php。[QSA,PT,L]: 是一些标记。QSA(Query String Append): 保留原有的查询参数。PT(Pass Through): 将重写后的URL交由后续的处理器处理,这步很重要,确保能被PHP正确处理。L(Last): 停止处理后续的Rewrite规则。
如何应用配置:
- 将上述代码保存到
/m/.htaccess文件中。 - 确保该文件的上传权限是正确的(通常是 644)。
第二步:织梦后台配置
服务器配置好后,你需要告诉织梦系统使用这些规则。
-
登录织梦后台 (
/dede/)。 -
进入“系统” -> “系统基本参数”。
-
在左侧菜单选择“核心设置”。
-
找到以下几项并进行修改:
- 是否使用伪静态:选择 “是”。
- 手机站是否启用:选择 “是”。 (这一步是启用手机站功能的前提)
- 手机站栏目路径:设置为
/m。 - 路径:设置为
/m。
-
进入“栏目管理”。
- 找到你的顶级栏目(通常是“站内栏目”),点击后面的“移动”按钮。
- 在弹出的窗口中,选择 “移动到手机站点”,并选择对应的手机版栏目。
- 重复此操作,将所有需要在手机站显示的栏目都移动过去。
-
进入“频道管理”。
同样地,将“文章”、“图集”等需要显示在手机站的频道也移动到手机站点。
-
更新缓存和生成。
- 进入“系统” -> “一键更新网站”。
- 先点击“更新系统缓存”。
- 然后选择“更新栏目HTML”和“更新文档HTML”,为手机站重新生成页面,这一步非常重要,它会根据你刚才设置的
/m路径,生成带有伪静态链接的HTML页面。
第三步:验证与测试
完成以上所有步骤后,你的手机站伪静态就设置成功了,现在进行验证:
- 访问手机站首页:在浏览器中输入
http://www.yourdomain.com/m/,应该能正常显示,并且URL地址栏保持不变。 - 点击栏目:在手机站首页点击任意一个栏目链接,观察URL,它应该是类似
http://www.yourdomain.com/m/cate1/的形式,而不是http://www.yourdomain.com/m/index.php?c=...。 - 点击文章:进入一个文章列表页后,点击任意一篇文章,URL应该是类似
http://www.yourdomain.com/m/a/123.html的形式。 - 检查源码:在浏览器中右键“查看网页源代码”,查找文章链接,确认它确实是
.html结尾的伪静态链接,而不是带 的动态链接。
常见问题排查
- 404 Not Found 错误:
- Nginx/Apache规则没生效:检查服务器配置是否正确添加,并已重启/重载服务。
.htaccess文件权限或编码问题:确保文件是UTF-8无BOM格式编码,权限为644。- 织梦后台设置错误:确认“是否使用伪静态”和“手机站路径”都设置正确。
- 页面能打开,但URL还是动态的:
这说明服务器重写可能没生效,或者织梦没有重新生成页面,请务必执行“一键更新网站”中的生成HTML步骤。
- 手机站和PC站内容混乱:
请确保在“栏目管理”和“频道管理”中正确地将内容移动到了手机站点,移动操作是区分PC和手机站内容的关键。
按照以上步骤,你应该就能成功地为织梦CMS的手机站配置好伪静态了。
