url加参数时404问题.
如下:
http://www.domain.com/hulianwang/ 这个栏目网址,如果加参数如
http://www.domain.com/hulianwang/?ref=xxxxxx
则报404找不到网页错误.
这个是不合理的.
我是伪静态
,我尝试在config/rewrite.php中加入
"([A-za-z0-9 \-\_]+)(.*)" => "index.php?c=category&dir=$1", //【带栏目路径】模块栏目列表({dirname})
上面一行,比官方的多了一个(.*),但不成功!!!!
我深入研究源码,在
/dayrui/Fcms/Init.php中的第382行,
if ($key == CMSURI || preg_match('/^'.$key.'$/U', CMSURI, $match)) {
去掉/U参数,就可以了
如下:
if ($key == CMSURI || preg_match('/^'.$key.'$/', CMSURI, $match)) {
不知这样改会影响其它地方访问吗?
目前测试了一些页,没问题.
请官方解答.
我研究解决了:
在config/rewrite.php中:
栏目用
"([A-za-z0-9 \-\_]+)\/?(?:\?(.*))?$" => "index.php?c=category&dir=$1", //【带栏目路径】模块栏目列表({dirname})
内容页:
"([A-za-z0-9 \-\_\/]+([0-9]+)\.html)\/?(?:\?(.*))?$" => "index.php?c=show&id=$2", //【带栏目路径】模块内容页({dirname}/{id}.html)
如何在控制器中获取url查询参数?可以用$_REQUEST获取 !!!