phpcms更新url或生成内容时,url路径中多出一个“/”,出现双斜杠//

本文解决Phpcms生成内容或更新URL时出现的双斜杠问题,通过调整URL规则管理变量和system.php配置,确保URL路径正确。

phpcms生成内容或更新URL,有时会出现url路径中多个一个斜杆“/”,出现双斜杠的情况,如:http://www.web315.net/category//article/1.html,http://www.web315.net//category/article/1.html等。

解决方法:

  1. URL规则管理中的{$categorydir}{$catdir}变量前面“/”去除,默认这两个变量尾部都是自带“/”的;
  2. system.php配置文件中设置html_root为空:'html_root' => '',system.php文件在/caches/configs/路径下。

原因分析

无论是生成内容还是更新URL,链接处理时都需要调用/phpcms/modules/content/模块下create_html.php中的urls()函数,大约在190行,如下图:create_html类urls()方法
其中$this->url = pc_base::load_app_class('url'),所以urls()调用了content模块url类的show()方法,我们以更新指定栏目URL为例,看看是如何处理url链接的,如下图:
url类show()方法其中$this->urlrules = getcache('urlrules','commons'),也就是加载了urlrules缓存,这个缓存里面保存的就是后台设置的url规则。从上图可以看到各种url和dir目录最后都拼接了“/”,所以后台设置url规则时{$categorydir}{$catdir}两个变量前不需要再加斜杆符号。

同样是url类中,再往下看会涉及到$html_root变量,如下图:
url类show()方法2
从上图中可以看到,$html_root变量后面也都拼接了斜杆字符,所以system.php配置中的html_root不需要以“/”字符作为结尾。

原文链接:http://www.web315.net/doc/53.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值