[网站建设] .htaccess实现含中文的url伪静态跳转

[复制链接]
查看1550 | 回复14 | 2020-2-8 21:37:13 | 显示全部楼层 |阅读模式

因为网站用的是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页实现跳转了,虽然没能弄清为什么可以解决这个问题,但是这个问题还是被解决了,把方法共享出来,希望可以帮助到同样遇到这个问题的小伙伴。


  • 上一篇:
  • 下一篇:
说点什么吧
  • 全部评论(0
  • 最新 最早
    还没有评论,快来抢沙发吧!
织梦cms建站教程从入门到精通,自由织梦网www.freedede.cn长期免费更新教程,图文结合dedecms建站教程经验,内容包含使用织 梦CMS、做模板、写采集规则、做插件模块,是学习织梦产品的最佳去处。
回复

使用道具 举报

fzny61226 | 2021-9-15 11:25:04 | 显示全部楼层
没积分哈,谁来帮帮我啊
回复

使用道具 举报

加油!悟空源码,继续努力!支持你!
回复

使用道具 举报

deer_____0 | 2022-6-3 12:33:15 | 显示全部楼层
感谢悟空源码分享精品资源!
回复

使用道具 举报

Sstz0719 | 2022-6-14 10:34:02 | 显示全部楼层
找了很多地方都不能下载,终于在悟空源码找到了
回复

使用道具 举报

小雨粑粑2012 | 2022-8-12 08:41:30 | 显示全部楼层
祝愿悟空源码越办越好!
回复

使用道具 举报

沙941 | 2022-8-26 21:23:40 | 显示全部楼层
支持悟空源码,越来越好
回复

使用道具 举报

木易549 | 2022-11-27 23:14:30 | 显示全部楼层
这个下载站资源真齐全
回复

使用道具 举报

划翔的青鸟纲 | 2022-12-13 08:28:53 | 显示全部楼层
悟空源码资源不错。粉了
回复

使用道具 举报

chris是小胖纸 | 2023-5-4 22:19:25 | 显示全部楼层
站长真良心,这么大的资源站都是免费下载
回复

使用道具 举报

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

本版积分规则