南通SEO,南通网络营销顾问任伟SEO博客

首页> 网站建设 > .htaccess实现含中文的url伪静态跳转
71Views

.htaccess实现含中文的url伪静态跳转

作者: 发布于 0 条评论 字体大小[]
.htaccess实现含中文的url伪静态跳转

因为网站用的是apache环境,所以伪静态规则都写在.htaccess文件中,而余斗的博客伪静态规则是应用在tag页中,主要代码为以下: #Tags伪静态 RewriteRule ^tags.html/tags.php RewriteRule ^tags/(.*)(? […]



因为网站用的是apache环境,所以伪静态规则都写在.htaccess文件中,而余斗的博客伪静态规则是应用在tag页中,主要代码为以下:


#Tags伪静态
RewriteRule ^tags.html/tags.php
RewriteRule ^tags/(.*)(?:(?.*))*.html$ tags.php?/$1
RewriteRule ^tags/(.*)/(?:(?.*))*.html$ tags.php?/$1/
RewriteRule ^tags/(.*)/([0-9])(?:(?.*))*.html$ tags.php?/$1/$2
RewriteRule ^tags/(.*)/([0-9])/(?:(?.*))*.html$ tags.php?/$1/$2/
 

一直以来都能实现伪静态的跳转,中英文或者符号都行,但是最近的一个偶然机会下,余斗发现一些tag标签无法打开,直接报错404,其实余斗博客的大部分含中文的tag地址都没有问题,但是某些中文文件会跳过rewrite规则直接访问从而出现404,经过余斗反复的验证发现这些url出现问题的共同特征就是这个汉字被自动urlencode后带“%85”,如“全”字编码后是%e5%85%a8   “入”字的编码是%e5%85%a5 ,“公”字的编码是%e5%85%ac,但凡还有这些字符的中文路径都无法实现伪静态。

经过查询0085在unicode字码表里代表换行:

不知道是不是因为这里把%85转义成换行才导致的404,但是这个问题确实出现了,余斗查询了一些资料也没能就这个问题解决,想到,在伪静态规则里并没有专门对中文字符进行设置,不如设置一下看看,代码如下:


RewriteRule ^tags/([sS]*).html$ tags.php?/$1
 

添加进.htaccess文件,重启apache,神奇的事情出现了,原来404的tag页实现跳转了,虽然没能弄清为什么可以解决这个问题,但是这个问题还是被解决了,把方法共享出来,希望可以帮助到同样遇到这个问题的小伙伴。


分享来源: 任伟SEO博客 转载请注明出处!(QQ交流:547701130/微信:renweiseo/微信公众号:renwei_seo)
原文地址:http://renweiseo.com/8942.html
发布于 2021-11-04 10:05:28 已有0人评论 任伟 作者保留权利

发表评论

必填

选填

选填

必填

已有0人参与,欢迎参与讨论,请在这里发表您的看法、交流您的观点。

亲!看完有什么想法呢?
  • 流泪

    0

  • 打酱油

    0

  • 开心

    0

  • 鼓掌

    0

  • 恐怖

    0

作者介绍

  • 任伟
  • • 主页:
    • 文章:
    • 邮箱:

    命是弱者的借口,运是强者的谦辞。

    控制面板

    您好,欢迎到访网站!
      查看权限
    «   2021年11月   »
    1234567
    891011121314
    15161718192021
    22232425262728
    2930