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获取 !!!

迅睿CMS解决伪静态栏目页与内容页网址加url参数时 会返回404的问题
标签: