搜索
查看: 1304|回复: 0

ISAPI_Rewrite3.1中文伪静态乱码,shopex伪静态乱码解决方法

[复制链接]

4856

主题

4856

帖子

4861

积分

新手上路

Rank: 1

积分
4861
发表于 2018-2-10 23:56:33 | 显示全部楼层 |阅读模式

                       
现在换用了 ISAPI_Rewrite 3.x 发现编码后的字符会变成乱码,如果直接使用中文不编码,则会被格式化为GBK字符串。
因为 ISAPI_Rewrite 默认是以 UTF-8 的编码接收的。
解决方案是
翻了手册,发现有一个配置参数可以解决该问题:
nounicode|NU
If NU flag is set, transformation from Unicode to UTF-8 will not take place and all Unicode characters remain encoded in %xx format.
nounicode|NU
如果标志设置,从Unicode转换为UTF-8不会发生,所有的Unicode字符编码为%xx的保持格式
在你的RewriteRule 规则后台添加 NU 即可恢复正常。
关于ISAPI_Rewrite中文变乱码解决方法,无论何种情况,统一解决思想:
1、在传输URL时,将中文进行urlencode,这样是没错的。
2、如果是ISAPI_Rewrite 3.x 只需添加 NU 参数即可。
配置举例:
传递的URL地址:
http://www.
seecpu.cn
/sell/search-htm-kw-%C6%BD%B0%E5%B5%E7%C4%D4.html
原来相应的RewriteRule为:
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
修正后的规则是:
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 [NU]
shopex原规则为:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} \.(html|xml|json|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|cgi|shtml|shtm|phtm|xml)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [
[color=]L]

修改后的规则为:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} \.(html|xml|json|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|cgi|shtml|shtm|phtm|xml)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [NU,L]
这样修改后shopex开启伪静态后就可以搜索中文了,并不会出现乱码现象。也可以正常对搜索结果翻页。
请看演示站 http://shopex.158558.cn

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

长春门户网站

长春门户网是网民了解长春的网络窗口,同是提供长春地区百姓生活分类供求信息的门户网站,同时提供长春网站建设、长春网站设计,我们将逐步的完善网站分类信息资源;

长春门户网二维码

联系我们

  • 工作时间:早上8:00 - 晚上5:30
  • 投稿联系:13624467185(微信同号)
  • 反馈邮箱:5053050@QQ.com
  • 公司地址:吉林省长春市亚泰大街与自由大路交汇五环国际大厦1408室

QQ|小黑屋|手机版|Archiver|cc! ( 吉ICP备2021009740号-8 )

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表