联系官方销售客服
1835022288
028-61286886
我的title已经限定了字母和数字的,我想使用title自定义函数作为URL规则,
第一步、我在config/custom.php写了一个函数titleurl
function titleurl($data) { $title = str_replace(" ", "-", $data['title']); return "/news/".$title.".html"; // 返回我自己的url规则: }
第二步、在url规则里面填写新标签:
{modname}/{titleurl($data)}.html
第三步、在config/rewrite.php,加入代码
// 判断url是否是来自自定义函数 if (CMSURI) { $myfile = WRITEPATH.'myid/'.md5(urldecode(CMSURI)).'.txt'; if (is_file($myfile)) { $id = file_get_contents($myfile); if ($id) { return [ CMSURI => 'index.php?c=show&id='.$id, // 这里写内容的地址 ]; } } }
第四步、然后更新内容url地址,使url地址生效
第五步、编写伪静态解析规则,因为这是你自己写的函数,所以无法用系统生成的代码了
"([\w]+)\/([\w]+)\.html" => "index.php?s=$1&c=show&title=$2",
为什么我访问https://www.xxxx.cn/news/aaddb17339.html是404
访问https://www.xxxx.cn/news/1.html可以。
是伪静态解析规则写错了吗还是其他原因
(以上回复内容已被迅睿框架创始人修改)