在微信里分享网站链接http://www.zdcms.cc/show-109.html,转发给别人之后链接就变成了http://www.zdcms.cc/show-109.html?from=singlemessage&isappinstalled=0;
接着就会出现分享出来的链接打开404报错。
因为微信强制要加一个字符串,因此需要更改config/rewrite.php伪静态解析规则;
// 共享栏目测试规则---解析规则----开始 "list-([a-z0-9]+)-([0-9]+).html" => "index.php?c=category&dir=$1&page=$2", //【共享栏目测试规则】模块栏目列表(分页)(list-{dirname}-{page}.html) "list-([a-z0-9]+).html" => "index.php?c=category&dir=$1", //【共享栏目测试规则】模块栏目列表(list-{dirname}.html) "show-([0-9]+)-([0-9]+).html" => "index.php?c=show&id=$1&page=$2", //【共享栏目测试规则】模块内容页(分页)(show-{id}-{page}.html) "show-([0-9]+).html" => "index.php?c=show&id=$1", //【共享栏目测试规则】模块内容页(show-{id}.html) // 共享栏目测试规则---解析规则----结束 // 共享模块测试规则---解析规则----开始 "([a-z]+)\/search\/(.+).html" => "index.php?s=$1&c=search&rewrite=$2", //【共享模块测试规则】模块搜索页(分页)({modname}/search/{param}.html) "([a-z]+)\/search.html" => "index.php?s=$1&c=search", //【共享模块测试规则】模块搜索页({modname}/search.html) // 共享模块测试规则---解析规则----结束
上图是默认的,需要改成下面的这种样式;
// 共享栏目测试规则---解析规则----开始 "list-([a-z0-9]+)-([0-9]+).html(.*)" => "index.php?c=category&dir=$1&page=$2", //【共享栏目测试规则】模块栏目列表(分页)(list-{dirname}-{page}.html) "list-([a-z0-9]+).html(.*)" => "index.php?c=category&dir=$1", //【共享栏目测试规则】模块栏目列表(list-{dirname}.html) "show-([0-9]+)-([0-9]+).html(.*)" => "index.php?c=show&id=$1&page=$2", //【共享栏目测试规则】模块内容页(分页)(show-{id}-{page}.html) "show-([0-9]+).html(.*)" => "index.php?c=show&id=$1", //【共享栏目测试规则】模块内容页(show-{id}.html) // 共享栏目测试规则---解析规则----结束 // 共享模块测试规则---解析规则----开始 "([a-z]+)\/search\/(.+).html(.*)" => "index.php?s=$1&c=search&rewrite=$2", //【共享模块测试规则】模块搜索页(分页)({modname}/search/{param}.html) "([a-z]+)\/search.html(.*)" => "index.php?s=$1&c=search", //【共享模块测试规则】模块搜索页({modname}/search.html) // 共享模块测试规则---解析规则----结束
上面的修改其实就是在.html结尾添加 (.*)
如果是非.html结尾的,比如 /about/
则应该添加:\?(.*),而且必须保留一行默认的规则,二行一起用。
"([a-z0-9]+)" => "index.php?c=category&dir=$1", //【共享栏目-单页面】模块栏目列表({dirname}/) "([a-z0-9]+)\?(.*)" => "index.php?c=category&dir=$1", //【共享栏目-单页面】模块栏目列表({dirname}/)