联系官方销售客服
1835022288
028-61286886
自定义url成功,但伪静态404错误
网站栏目和页面都是自定义网址,url规则里面都是按照需求修改完毕,
修改config/custom.php
现在前台各个链接都是自定义静态链接,但是点击打开后所有自定义链接都是404错误。
各段代码请见附件
rewrite.php添加后所有内容为:
问题:我的动态链接是:
index.php?c=category&id=$1&page=$2
而不是:
index.php?c=category&dir=$1&page=$2
根目录下:.htaccess修改如下
404错误没有显示自己的404页面,而是显示phpstudy的404页面:
原因5:站点使用了伪静态
解决办法:
将伪静态规则删除,或者重新编写正确的伪静态规则,或关闭伪静态配置。
请教大佬这个伪静态规则哪里出问题了?
回复迅睿框架创始人 为何我的后台seo界面和说明不一样,已经升级到最新版本了。
"show-([0-9]+)\.html" => "index.php?c=show&id=$1", //【不带栏目路径】模块内容页(show-{id}.html)就是:/index.php?c=show&id=14打开正常,/show-14.html 打开404错误。
例:http://127.0.0.1/index.php?c=category&id=1&page=2规则:"([A-za-z0-9 \-\_]+)-([0-9]+)\.html" => "index.php?c=category&id=$1&page=$2", //【不带栏目路径】模块栏目列表(分页)(list-{dirname}-{page}.html)例:http://127.0.0.1/index.php?c=show&id=14
规则:"([A-za-z0-9 \-\_]+)\.html" => "index.php?c=show&id=$1", //【不带栏目路径】模块内容页(show-{id}.html)例:http://127.0.0.1/index.php?c=category&id=3规则:"([A-za-z0-9 \-\_]+)\.html" => "index.php?c=category&id=$1", //【不带栏目路径】模块栏目列表(list-{dirname}.html)目前:http://127.0.0.1/index.php?c=show&id=14 可以打开,但http://127.0.0.1/show-14.html 无法打开
内容和栏目规则冲突了,只能生效一个
自定义地址.html 和 id.html 打开都是404错误,感觉这个rewrite.php不起作用。
// 判断url是否是来自自定义函数if (CMSURI) { $myfile = WRITEPATH.'mid/'.md5(CMSURI).'.txt'; if (is_file($myfile)) { $id = file_get_contents($myfile); if ($id) { return [ CMSURI => 'index.php?c=show&id='.$id, // 这里写内容的地址 ]; } }}// 自定义---解析规则----结束 "([a-z]+)\/([0-9]+)" => "index.php?c=show&field=yuming&value=$1", // 自定义---解析规则----结束custom.phpfunction xxxurl($data) { $author = isset($data['_id']) ? $data['_id'] : $data['id']; $url = "/".$id; dr_mkdirs(WRITEPATH.'myid/'); // 创建id缓存存储目录 file_put_contents(WRITEPATH.'myid/'. md5(trim($url, '/')).'.txt', $data['id']); // 将id号存储缓存文件 return $url; //返回我自己的}
custom.php
function xxxurl($data) {
$author = isset($data['_id']) ? $data['_id'] : $data['id'];
$url = "xx/".$id;
dr_mkdirs(WRITEPATH.'myid/'); // 创建id缓存存储目录
file_put_contents(WRITEPATH.'myid/'. md5(trim($url, '/')).'.txt', $data['id']); // 将id号存储缓存文件
return $url; //返回我自己的
}
// 自定义---解析规则(config/rewrite.php )----结束
"([a-z]+)\/([0-9]+)" => "index.php?c=show&field=id&value=$1",
// 自定义---解析规则(config/rewrite.php )----结束
xx 这个你自己改成你想要的也可以不要!id 可以改成你需要的字段
field=id 这个我独立用的是模块字段
我用的独立模块,没有改过共享的自定义
试一试这个!
"tag\/(.+)\.html" => "index.php?s=tag&name=$1", // tag插件