科技常识:htaccess Rewrite中文编码问题解决方法

2021-04-16 13:59:43
导读 今天小编跟大家讲解下有关科技常识:htaccess Rewrite中文编码问题解决方法,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关

今天小编跟大家讲解下有关科技常识:htaccess Rewrite中文编码问题解决方法,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:htaccess Rewrite中文编码问题解决方法的相关资料,希望小伙伴会喜欢也能够帮助大家。

.htaccess文件 RewriteRule ^(.*).html$ index.php?id=$1 对于一个网址///我是谁.html 我们将会遇到以下4种情况 ///我是谁.html (这里的”我是谁”是GB2312编码) IE打开,接收到的id是utf8编码的”我是谁” FireFox打开,接收不到id值,并且Apache会出现403错误。 这里需要着重说明一下,因为FireFox会将”我是谁”自动urlencode,如果你的页面链接中”我是谁”的编码是gb2312就会出错。 ///我是谁.html (这里的”我是谁”是UTF8编码) IE和FireFox打开,都可以接收到id值 ///%CE%D2%CA%C7%CB%AD.html (这里是urlencode后的”我是谁”GB2312编码) IE和FireFox打开,都接收不到id值,并且Apache会出现403错误。 ///%E6%88%91%E6%98%AF%E8%B0%81.html (这里是urlencode后的”我是谁”UTF8编码) IE和FireFox打开,都可以接收到id值 说明: “我是谁”的UTF8编码urlencode后为 %E6%88%91%E6%98%AF%E8%B0%81 “我是谁”的GB2312编码urlencode后为 %CE%D2%CA%C7%CB%AD 结论: Rewrite只接收UTF8 IE和FireFox对中文URL的编码不同,要注意. 这也是为什么上面的例子接收不到id值,并且出403错误. 为了避免这种情况出现,页面中的链接最好是UTF8编码的,如果是GB2312,一定会有问题. 最好的习惯是UTF8编码并urlencode,也就是上文的例4.

来源:爱蒂网

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章