pbootcms url美化
如遇下载链接蓝奏网盘打不开lanzous替换成lanzoux尝试! 广告

pbootcms自定义路由只适用于 1.X 版本,2.X / 3.X 早已改成在后台用「栏目自定义地址 + URL 模式」来实现,网上很多教程把两套混着写,照着抄容易白费功夫。下面按当前主流版本(3.X)给完整做法。
一、先看清 URL 美化的三个层次
PbootCMS 的地址美化不是一步到位的,它是三层叠加的,缺一层都会失效:
层次 做什么 在哪做 缺了会怎样
第 1 层 切换 URL 模式为伪静态 后台配置参数 地址仍带 ?p=… 问号
第 2 层 配服务器重写规则 Nginx / Apache / IIS 首页能开,点栏目全部 404
第 3 层 设栏目自定义地址 栏目编辑页 地址虽美但是拼音/编码,不语义化
三层的关系是:第 1 层决定”长什么样”,第 2 层决定”能不能访问到”,第 3 层决定”好不好看”。
二、第 1 步:后台开启伪静态
进入 后台 → 全局配置 → 配置参数(部分版本在「系统设置」下),找到 URL 模式,它有三个选项:
动态模式:地址形如 /index.php?p=about&scode=1,最丑,不推荐
兼容模式:保留 index.php,参数被美化,形如 /index.php/about-us.html
伪静态模式:完全去掉 index.php,形如 /about-us.html,SEO 首选
选 伪静态模式,保存后点后台右上角清除缓存。
三、第 2 步:配服务器重写规则(最容易栽的一步)
铁律:服务器规则必须和你真实的 Web 环境对号入座。Nginx 的规则贴到 Apache 上,必然全站 404——”首页能开、点栏目全 404″几乎可以锁定是这一层没配好。
1)Nginx(含宝塔 Nginx)
在站点 server { } 内加入:
nginx
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
}
配完先 nginx -t 检查语法,再 nginx -s reload 重载。注意 if (!-e $request_filename):只有请求的文件/目录真实不存在时才走重写,否则会把 css、jpg 这类真实静态资源也重写进 PHP,导致样式全丢。
2)宝塔面板(最省事)
进 网站 → 设置 → 伪静态,在左侧模板下拉里直接选 PbootCMS,保存即可自动写入规则。下拉里没有就手动粘贴上面的规则。
3)Apache
在站点根目录(与 index.php 同级)放 .htaccess:
apache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
前提是 Apache 已开 mod_rewrite,且站点配置里 AllowOverride 必须是 All——大量虚拟主机 404 的根源就是它是 None,规则文件被直接忽略。
4)IIS
根目录放 web.config,规则内容可从源码包 rewrite 目录拷贝;IIS 必须装好「URL 重写」扩展,否则报 500。
Nginx 下的隐藏坑:PbootCMS 依赖 PATH_INFO 解析路由,如果开启伪静态后仍 404,检查 PHP 的 cgi.fix_pathinfo 是否为 1(部分 PHP 8.0+ 环境默认为 0)。这是宝塔 + PHP8 组合最常见的问题。
四、第 3 步:给单页设置自定义地址(承接你的单页模型)
这一步才是真正让 /about.html 变成 /about-us.html 的地方。
进入 后台 → 基础内容 → 内容栏目 → 找到你的单页 → 编辑,在「自定义地址」(有的版本叫”栏目地址”/”URL 别名”)里填英文语义化名称:
表格
单页栏目 自定义地址填 前台最终访问地址
关于我们 about-us 域名/about-us.html
联系我们 contact-us 域名/contact-us.html
服务介绍 service 域名/service.html
保存后清缓存即可生效。文章、产品等列表模型的内容同样有这个字段,一篇一条单独设,方便做长尾词布局。
重要避坑:about 是系统保留关键字,自定义地址千万别单用 about,改成 about-us、company 之类,否则会与系统内部路由撞车。
五、模板里的链接必须走系统标签(否则美化白做)
这是最容易被忽略的一环:后台地址设得再漂亮,模板里手写 ?scode=about 也照样输出丑地址。所有链接统一用系统标签输出:
<!– 单页链接 –>
<a href=”{single:link}”>{single:title}</a>
<!– 栏目链接(导航、面包屑) –>
<a href=”[sort:link]”>[sort:name]</a>
<!– 列表内容链接 –>
<a href=”[list:link]”>[list:title]</a>
<!– 首页链接 –>
<a href=”{pboot:sitelink}”>首页</a>
只要用这几个标签,系统会自动输出美化后的 URL,切模式、换域名、装子目录都不用改模板。
六、1.X 老版本:用 route.php(新版本已弃用)
如果你确实在用 1.X,美化靠 config/route.php,键值对格式,多条规则用英文逗号隔开,且自定义规则必须写在默认正则规则之前,写后面不生效:
php
<?php
return array(‘url_route’ => array(
// 单页固定路由:’美化地址’ => ‘系统路由路径’
‘home/about-us’ => ‘home/about/index/scode/1’,
‘home/contact-us’=> ‘home/about/index/scode/5’,
// 列表页
‘home/news’ => ‘home/list/index/scode/2’,
// 详情页
‘home/test’ => ‘home/content/index/id/10’,
));
访问效果即 域名/about-us.html。2.X / 3.X 请直接用第四步的后台设置,不要再用这个文件,官方手册已明确标注它”只适合 1.X”。
七、SEO注意事项
优先伪静态,别长期用兼容模式:伪静态地址不带 index.php 和问号,蜘蛛抓取更顺,权重传递没有损耗;兼容模式虽可用,但地址冗余,属于过渡方案。
一个页面只保留一个地址:改自定义地址后,旧地址若已被收录,做好 301 跳转,避免同一内容两个 URL 分散权重。
后缀统一:全站统一用 .html(或统一 .htm),别混着来。
地址层级别太深:能和栏目拼音一致最好,如 /news/123.html,别堆成 /a/b/c/d/123.html。
八、美化后失效的排查清单
现象 原因
首页能开、栏目全 404 服务器规则没配,或规则与环境不匹配
配了规则仍 404 Apache 的 AllowOverride 不是 All;或 IIS 没装 URL 重写扩展
宝塔配了还不生效 面板”重写引擎”开关没打开;或安全组/防火墙没放行
装子目录后全 404 规则里的路径/RewriteBase 没改(如子目录 test 要写成 /test/)
样式图片丢了 重写规则没加 !-e 判断,把真实静态资源也重写了
地址设了但还是丑 模板里手写了 ?scode=xxx,没走 {single:link} 等标签
改完没反应 后台缓存没清,或浏览器缓存了错误页(用无痕窗口测)
规则粘贴后 Nginx 报错 复制的规则混进了全角空格或不可见字符,建议手敲关键行
一句话总结:
URL 美化 = 后台切伪静态模式 + 服务器配对重写规则 + 栏目填自定义地址,三步缺一不可;单页美化只需给单页栏目填个英文自定义地址(避开 about 保留字),而模板里所有链接必须用 {single:link}、[list:link] 这类系统标签输出,否则后台设得再美也白搭。
NOTICE:【咨询风格酷】客服微信:wwwxmamcn
NOTICE:【风格酷模板网②群】QQ群:288678775
☉免责声明:本站所有模板均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。
☉如果源码网盘地址失效!或有其他问题,请点我报错,谢谢合作!
☉人民币与积分汇率为1比10,即1元=10积分.有任何疑问请联系客服!
☉如有其他问题,请加网站客服QQ(1131734965)进行交流。
☉本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
☉源码、模板等资源会随着技术、环境的升级而存在部分问题,还请慎重选择。