赞片CMSURL规则
学完这篇,你能给赞片CMS亲手配出一套伪静态 URL 规则,并保证改完之后旧链接不 404、新链接能正常打开。
第一步:进后台找到 URL 规则配置入口
这一步要做的是定位到写规则的地方,做完你应该看到一个可以逐行编辑「模块 → URL 格式」的表格。
赞片CMS 后台默认入口是 你的域名/admin.php,用管理员账号登录后,按这个路径走:顶部菜单点「系统」→ 左侧栏「系统配置」→ 展开「SEO设置」→ 点「URL规则」。部分 3.x 版本这里叫「伪静态设置」,位置在「系统」→「基本设置」→「伪静态」,菜单名不一样但表格长一个样:左边一列是模块名(首页、列表页、内容页、播放页、专题页、搜索页),右边一列是 URL 格式输入框。
进去以后先别急着改,点右上角「备份当前规则」或者手动把默认规则整段复制到记事本存一份。这是唯一的后悔药。
注意:改 URL 规则之前,先把「系统」→「基本设置」里的「网站域名」写成完整带协议的地址(如
https://www.example.com),否则生成出来的链接会缺域名头。
第二步:认识规则里能用的占位符
这一步要搞清占位符的含义,否则写出来的规则一定是错的。
赞片CMS 的 URL 规则本质是「固定字符 + 占位符」拼字符串,常见占位符:
{id}或{$id}:内容/栏目的数字 ID,唯一,必须出现{dir}:栏目的英文目录名,在「栏目管理」里手动填的那个{page}:分页页码{sid}/{pid}:播放源序号和剧集序号{year}{area}{type}:筛选参数
占位符的括号写法各版本不同,以你后台该输入框下方的「可用变量说明」为准,照抄那一行,不要凭印象写。
注意:所有占位符必须用英文半角括号和字母,中文全角括号
{}会让规则静默失效,页面还是动态地址,但你不会收到任何报错。
第三步:按模块逐条写规则
这一步做完,你会得到一套完整的伪静态格式。下面是一套可直接参考的写法(假设站点根目录为 /):
首页: /
列表页: /list/{dir}/{page}.html
内容页: /show/{dir}/{id}.html
播放页: /play/{dir}/{id}-{sid}-{pid}.html
专题页: /topic/{id}.html
搜索页: /search/{wd}.html
写的时候守三条死规矩:每条规则里的占位符不能重复出现两次;内容页必须含 {id};{dir} 只用于列表页和内容页,别塞进搜索页。
改完点「保存」,再点同页面的「更新URL缓存」按钮(有的版本叫「清除缓存」),否则前台还是老链接。
注意:分页第一页的处理。如果列表页规则写成
/list/{dir}/{page}.html,第一页会生成/list/dianying/1.html,而栏目首页本身是/list/dianying/,等于同一内容两个地址。建议在「SEO设置」里把列表页第一页做 301 跳转到栏目首页,避免权重分散。
第四步:在服务器上加伪静态转发规则
这一步要做的,是让服务器把 /show/dianying/123.html 这种地址交回给 PHP 处理,否则前台全是 404。
Nginx 环境:编辑站点配置文件(宝塔面板路径为 /www/server/panel/vhost/nginx/你的域名.conf),在 server{} 里加:
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?s=$1 last;
}
}
Apache 环境:在网站根目录建 .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?s=$1 [L,QSA]
保存后重载:宝塔面板点「网站」→ 对应站点 → 「配置文件」保存即自动重载;命令行是 nginx -t && nginx -s reload。
第五步:清缓存并逐条验证
这一步确认成果:打开首页、随便点一个栏目、点进一个视频详情、再点一集播放,看地址栏格式是否和你写的规则一致。
如果某一类页面还是动态地址(比如 ?id=123),说明该类模块的「开启伪静态」开关没打开——回到 URL 规则页,检查每条规则左侧是否勾选启用。
注意:改规则最大的坑是旧链接全 404。搜索引擎已经收录的旧地址不会自己跟着变。上线前把你原来的规则也保留成一条 rewrite,做 301 跳转到新地址,别直接删。
小结
- 入口在「系统」→「系统配置」→「SEO设置」→「URL规则」,改前先备份。
- 占位符写法以后台说明栏为准,必须用英文半角符号。
- 内容页必须含
{id},占位符不可重复。 - 服务器端 Nginx/Apache 的 rewrite 不配,规则写得再对也是 404。
- 保存后要「更新URL缓存」,并且给旧链接留 301 跳转。
原文链接:https://www.gj0.com/thread-987.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。