在内容页使用 自定义url,代码如下
function title_to_slug($title)
{
// 转为小写
$title = strtolower($title);
// 替换非字母数字字符为 -
$title = preg_replace('/[^a-z0-9]+/', '-', $title);
// 去除首尾 -
return trim($title, '-');
}
function myurl($data)
{
// $py = \Phpcmf\Service::L('pinyin')->result($data['title']); // 把标题转换拼音
$py = title_to_slug($data['title']); // 把标题转换空格为-
$url = $data['dirname'] . "/" . $py . ".html"; // url规则:news/pinyin.html
dr_mkdirs(WRITEPATH . 'myid/'); // 创建id缓存存储目录
file_put_contents(WRITEPATH . 'myid/' . md5(trim($url, '/')) . '.txt', $data['id']); // 将id号存储缓存文件
return $url; //返回我自己的
}在伪静态时,使用,
$myfile = WRITEPATH . 'myid/' . md5(CMSURI) . '.txt';
if (is_file($myfile)) {
$id = file_get_contents($myfile);
if ($id) {
return [
CMSURI => 'index.php?c=show&id=' . $id, // 这里写内容的地址
];
}
}当访问 地址为 **/**.html?bd=aaa 这样时,出现404错误,尝试在 html后添加了 (.*) 还是存在错误
$url = $data['dirname'] . "/" . $py . ".html";
$myfile = WRITEPATH . 'myid/' . md5(CMSURI) . '.txt';
改为
$uuu = CMSURI;
if (strpos(CMSURI, '?')) {
list($uuu) = explode('?', CMS_URI);
}
$myfile = WRITEPATH . 'myid/' . md5($uuu) . '.txt';