Destoon怎么解决伪静态中文搜索出现403错误_http403错误解决方案

2020-02-27 其他范文 下载本文

Destoon怎么解决伪静态中文搜索出现403错误由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“http403错误解决方案”。

Destoon怎么解决伪静态中文搜索出现40

3错误

由于apache 的url rewrite 组件在传递参数的时候会自动进行urldecode解码,所以会出现搜索结果列表页出来后,翻页、相关搜索的伪静态地址搜索关键字部分变成为url编码的中文,这时候再点击下一页或相关搜索链接会报403错误,解决办法是对传递参数进行2次编码,即urlencode(urlencode(关键字)),但是destoon中发现此方法不可行,使用此方法在第三次翻页的时候就失效,网上说在.htacce中添加[NE]或[NU]参数,均无效,[NE]失效原因未明,[NU]失效是apache的rewrite无此参数,网上说可行都是iis的rewrite组件,最后得出两个解决办法:

1、destoon后台网站设置的seo优化关闭伪静态(4.0以上版本不能单独对搜索也进行伪静态设置),其他模块因为还选择伪静态,所以此设置后不影响对大部分模块进行伪静态,但是会员商家的主页会无法实现伪静态。

2、修改代码,针对伪静态页面添加排除条件,即对出现“search.php”的页面不进行伪静态,修改地方如下:

include/global.func.php中pages函数(翻页)

找到 “if(defined('DT_REWRITE')&& $_SERVER[”SCRIPT_NAME“])” 添加排除条件,修改后如下:

$DT['rewrite']

&&

“ if(defined('DT_REWRITE')&& $DT['rewrite'] && $_SERVER[”SCRIPT_NAME“] && strpos($_SERVER['PHP_SELF'], 'search.php')===false && strpos($_SERVER['PHP_SELF'], 'price.php')===false)”

include/global.func.php中rewrite函数(伪静态)

找到 “if(strpos($url, '.php?')=== false || strpos($url, '=')=== false)return $url;” 条件,修改后如下:

添加排除

“ if(strpos($url, '.php?')=== false || strpos($url, '=')=== false || strpos($_SERVER['PHP_SELF'],'search.php')!==false

&& strpos($_SERVER['PHP_SELF'], 'price.php')!==false)return $url;” 此两次修改之后,搜索页及相关搜索不使用伪静态,而其他模块包括商家主页可以继续使用伪静态

详细可以参考商务蜜蜂资讯网:http://www.daodoc.com

《Destoon怎么解决伪静态中文搜索出现403错误.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
Destoon怎么解决伪静态中文搜索出现403错误
点击下载文档
相关专题 http403错误解决方案 静态 中文搜索 错误 http403错误解决方案 静态 中文搜索 错误
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文