xxxdalaohu 发表于 2012-7-29 14:45:26

伪静态下搜索排行榜403错误问题解决办法

今天早上发现这个问题,在供应列表右侧下面有个搜索关键词排行榜,我随意点击了一下发现出现的是 403的错误页面,赶快就上论坛查找问题,没想到也有不少朋友都有这个问题,也有朋友提出了几个解决办法,无奈我的都不奏效。
刚才我还在论坛发帖求助,无奈没人回答,求人不如求己!
   解决不了心头不静啊,想了想会不会是apache的问题,又搜索了一下 “apache 伪静态 乱码”“apache 伪静态 403” 这几个关键词,果然找到点信息,死马当活马医,碰到方法只管试试,还真给蒙对了


本人php水平次的很,不过也做了几年站了,稍微懂一点点,高手莫笑




最后我发现可能是urlencode 编码问题,在tag/list-search_rank.html 文件中 是这样几句代码[*]
[*]{php isset($file) or $file='search';}
[*]
[*]{loop $tags $i $t}
[*] {$t}条{$t}
[*]{/loop}
[*]
[*]复制代码其中 {rewrite($file.'.php?kw='.urlencode($t['word']))}就是解决的目标

因为我发现2次urlencode编码后的字母放在搜索的网址中替换原来的字母就可以正确显示

可能是解码了2次吧 所以这里就要编码2次 把 .urlencode($t['word'])

换成 .urlencode(urlencode($t['word']))即可解决,

整段如下[*]
[*]{php isset($file) or $file='search';}
[*]
[*]{loop $tags $i $t}
[*] {$t}条{$t}
[*]{/loop}
[*]
[*]复制代码
页: [1]
查看完整版本: 伪静态下搜索排行榜403错误问题解决办法