赞片CMSURL结构

juming
juming 初级会员超兽战士
发布于 2026-10-08 13:30 ·1 浏览 ·0 回复

学完这篇,你能自己看懂赞片CMS的 URL 是怎么拼出来的,并且能在后台和服务器上把它改成你想要的样子——包括列表页、详情页、播放页的地址格式,以及改完之后怎么保证老链接不 404。

赞片CMS(常见的是基于 ThinkPHP 的 3.x 系列)默认的地址看着挺规整,但它其实是「后台设置 + 服务器伪静态规则 + 模板生成地址」三处配合的结果。哪一处不对,URL 就出不来。下面按顺序走一遍。

第一步:先确认你的站点现在用的是哪种 URL 模式

这一步要弄清「地址长什么样由谁决定」,做完你才知道后面该改哪里。

赞片CMS 一般支持三种模式:

  • 普通模式:http://你的域名/index.php?m=vod&a=detail&id=123
  • PATHINFO 模式:http://你的域名/index.php/vod/detail/id/123.html
  • 伪静态(REWRITE)模式:http://你的域名/vod/123.html 之类

判断方法很简单:随便打开一个影片详情页,看地址栏里有没有 index.php、有没有 ?m=。有 ?m= 就是普通模式,只有 index.php 是 PATHINFO,都没有才是伪静态。

注意:后台菜单名各版本略有差异。登录后台后(默认入口通常是 /admin.php),找「系统」→「基本设置」或「系统设置」下的 URL 设置 / 伪静态设置,里面一般有「URL 模式」这一项。如果你的后台找不到这一项,说明你的版本把这部分写死在配置文件里了,见第二步。

第二步:确认 URL 模式是后台控制还是配置文件控制

这一步要确定「改哪个文件」,避免白改。

先在后台找上面说的 URL 设置项。能找到,就在那里切换,不用碰代码。

找不到的话,去看配置文件。赞片CMS 的 ThinkPHP 配置一般在这两个位置:

  • Application/Common/Conf/config.php:全局配置,里面会有 URL_MODEL(0=普通、1=PATHINFO、2=REWRITE)、URL_HTML_SUFFIX(后缀,通常是 html)这类项。
  • Application/Home/Conf/config.php:前台模块配置,路由规则 URL_ROUTE_RULES 常写在这里。

用编辑器打开,搜索 URL_MODEL,就能看到当前值。改完保存。

注意:改配置文件前先备份一份原文件。ThinkPHP 的配置数组少一个逗号整站就白屏,出问题时把备份覆盖回去是最快的恢复方式。

第三步:把服务器伪静态规则配对

这一步决定伪静态地址能不能真的被服务器正确解析,做完你访问 /vod/123.html 才不是 404。

Nginx:在站点配置的 server { } 里加 rewrite。ThinkPHP 的通用写法是:

location / {
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php?s=$1 last;
    }
}

改完执行 nginx -t 测试语法,再 nginx -s reload。

Apache:确认根目录有 .htaccess,且站点配置里 AllowOverride All 已打开。规则同样是「文件不存在就转给 index.php」。

宝塔面板:站点 → 设置 → 伪静态,选择 thinkphp 模板即可,不用手写。

注意:伪静态没配的时候,把后台切成伪静态模式会导致全站打不开。顺序永远是「先配服务器规则,再切后台模式」。另外 PHP 的 PATHINFO 被禁用时(部分虚拟主机默认禁),PATHINFO 模式也会失效,需要在 php.ini 里放开,或干脆用伪静态。

第四步:调整具体页面的地址格式

这一步决定列表页、详情页、播放页各自长什么样。

在后台的 URL 规则设置里,通常能看到几组对应关系,常见形态是:

  • 分类列表:/list/{id}.html 或 /vod/type/{id}.html
  • 影片详情:/show/{id}.html 或 /vod/{id}.html
  • 影片播放:/play/{id}-{sid}-{nid}.html(id 影片、sid 播放源、nid 集数)

把里面的固定词(vod、show、list)换成你想要的英文词即可,比如换成 movie、watch。占位符名别乱改,那是模板取值用的。

如果后台没有这项,就去 Application/Home/Conf/config.php 里的 URL_ROUTE_RULES 数组改,格式类似:

'URL_ROUTE_RULES' => array(
    'vod/:id\d'   => 'Home/Vod/detail',
    'play/:id\d'  => 'Home/Vod/play',
),

注意:模板里生成地址必须用系统自带的 URL 生成函数(标签手册里会写,通常是 U() 或系统封装的 zpf_url() 之类),不要在模板里手写 /vod/123.html 这种死地址。一旦规则改了,手写的地方全废,用函数的地方自动跟着变。

第五步:改完 URL 必须做的三件事

这一步保证改动真正生效,并且不丢已有流量。

  1. 清缓存:后台 →「系统」→「清除缓存」,或直接删掉 Runtime/ 目录下的内容。模板缓存不清,前台还是旧地址。
  2. 做 301:如果站点已有收录,把老地址 301 跳到新地址。在 Nginx 里用 rewrite ^/vod/(\d+)\.html$ /show/$1.html permanent; 这类规则处理。
  3. 更新站点地图:后台重新生成 sitemap,再去搜索引擎站长平台重新提交。

小结

  • 赞片CMS 的 URL 由三处共同决定:后台 URL 设置、服务器伪静态规则、模板里的 URL 生成函数,缺一处都不生效。
  • 先看地址栏判断当前模式,再去后台或 Application/Common/Conf/config.php 找 URL_MODEL。
  • 顺序不能反:先配 Nginx/Apache 伪静态,再切后台模式,否则整站打不开。
  • 具体格式在 URL 规则里改固定英文词,占位符不要动。
  • 模板里必须用 URL 生成函数,不要手写死地址。
  • 改完三件事:清缓存、老地址做 301、重新提交 sitemap。
版权声明:本文来自 GJ站长论坛《赞片CMSURL结构》
原文链接:https://www.gj0.com/thread-979.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~