Rewrite编码问题解决
2008-05-28 05:57
204 查看
Seo方面对于中文地址或则文件名,在Google好像比重要大一些,今天正好看到andy的文章.转下,以后也许会用.
[b].htaccess文件
RewriteRule ^(.*).html$ index.php?id=$1
对于一个网址http://www.21andy.com/我是谁.html 我们将会遇到以下4种情况
http://www.21andy.com/我是谁.html (这里的”我是谁”是GB2312编码)
IE打开,接收到的id是utf8编码的”我是谁”
FireFox打开,接收不到id值,并且Apache会出现403错误。
这里需要着重说明一下,因为FireFox会将”我是谁”自动urlencode,如果你的页面链接中”我是谁”的编码是gb2312就会出错。
http://www.21andy.com/我是谁.html (这里的”我是谁”是UTF8编码)
IE和FireFox打开,都可以接收到id值
http://www.21andy.com/%CE%D2%CA%C7%CB%AD.html (这里是urlencode后的”我是谁”GB2312编码)
IE和FireFox打开,都接收不到id值,并且Apache会出现403错误。
http://www.21andy.com/%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.
[/b]
[b].htaccess文件
RewriteRule ^(.*).html$ index.php?id=$1
对于一个网址http://www.21andy.com/我是谁.html 我们将会遇到以下4种情况
http://www.21andy.com/我是谁.html (这里的”我是谁”是GB2312编码)
IE打开,接收到的id是utf8编码的”我是谁”
FireFox打开,接收不到id值,并且Apache会出现403错误。
这里需要着重说明一下,因为FireFox会将”我是谁”自动urlencode,如果你的页面链接中”我是谁”的编码是gb2312就会出错。
http://www.21andy.com/我是谁.html (这里的”我是谁”是UTF8编码)
IE和FireFox打开,都可以接收到id值
http://www.21andy.com/%CE%D2%CA%C7%CB%AD.html (这里是urlencode后的”我是谁”GB2312编码)
IE和FireFox打开,都接收不到id值,并且Apache会出现403错误。
http://www.21andy.com/%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.
[/b]
相关文章推荐
- htaccess Rewrite中文编码问题解决方法
- 文件编码自动检测转换工具file-convert,解决乱码问题
- 解决python with 在写入文件是因编码格式不同而造成乱码问题
- 解决VS2005打开UTF-8编码文档乱码问题(ZZ)
- Jmeter之Sampler响应结果编码修改(解决乱码问题)
- 分享一个 jsPDF的简单使用以及中文编码问题的解决
- python解决js文件utf-8编码乱码问题(推荐)
- 如何解决python连接数据库编码问题(python传数据到mysql乱码)'ascii' codec can't encode _mysql_exceptions.OperationalError: (1366, "Incorrect string value:?
- python2.7的编码问题与解决方法
- 利用过滤器解决GET和POST请求编码问题
- 网站开发中常见的编码和乱码问题的解决(转)
- 解决全局utf-8编码下asp.net接收gb2312乱码的问题
- 前后端分离:利用nginx的rewrite解决跨域问题
- [Blackberry]Bug_build时出错_java build 编码格式问题及解决办法
- 彻底解决Eclipse不能为JSP编辑器指定编码的问题(设置UTF8无效)
- 解决中文编码问题的四个注意点
- JFreeChart 解决编码问题
- 【ANSI转UTF-8】用iconv命令解决Mac/Linux下编码问题
- 重编码解决GET方法前台传后台汉字乱码问题
- 解决全站字符乱码(POST和GET中文编码问题)