100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Apache和Nginx URL重定向做伪静态 中文的问题。

Apache和Nginx URL重定向做伪静态 中文的问题。

时间:2021-06-02 09:07:55

相关推荐

Apache和Nginx URL重定向做伪静态 中文的问题。

后端开发|php教程

apache,nginx,tengine,伪静态,php

后端开发-php教程

首先,说一下情况:

1、我本地用的是Apache,服务器上用的是Nginx。

2、设置的伪静态起作用,没有问题。

3、PHP代码。

自适应列表播放器代源码,ubuntu重启远程任务,脸部痒 爬虫感,php 1 437.69,湖南seo康复lzw

有个tag标签功能,其中有tag中文标签,我想让链接是中文的形式出现,就像本站上的这个链接一样。

/t/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1

在浏览器和鼠标悬停在链接上的时候,效果是如下:

/t/数据库设计

互赞网站源码,如何用vscode配置c,ubuntu安装frpc,黑群晖+tomcat,爬虫机器图片,php gd 输出图片,北京品牌seo优化厂家报价,.NET酒店管理系统网站源码下载,淘宝织梦模板免费下载lzw

当然中文是通过urlencode(“数据库设计”)得到的字符串是:%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1

oexam源码,vscode语言选择模式,ubuntu依赖命令,tomcat多ip地址,怎么学会爬虫,php 程序 断,教育行业seo推广哪家强,域名搭建网站,手机号码交易 网站源码 模板lzw

真正的问题来了:

当我使用了伪静态后,发现自动把 “%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1” urldecode解码了。

在网上找了好多资料,说是只要urlencode(urlencode(“数据库设计”))就行了,没错,虽然管用了。但是这样的话就不如我直接使用这个标签id就好了,比如/t/123。但是我想要的是显示中文,就和本站的效果一样。

举个例子,伪静态代码如下:

RewriteCond %{QUERY_STRING} ^(.*)$RewriteRule ^(.*)/abc/([\w_\-\%\|\!\,\#]+)$ $1/abc.php?tag=$1&%1 [L]

那么如何才能禁止apache和Nginx自动把字符串解码呢?

回复内容:

首先,说一下情况:

1、我本地用的是Apache,服务器上用的是Nginx。

2、设置的伪静态起作用,没有问题。

3、PHP代码。

有个tag标签功能,其中有tag中文标签,我想让链接是中文的形式出现,就像本站上的这个链接一样。

/t/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1

在浏览器和鼠标悬停在链接上的时候,效果是如下:

/t/数据库设计

当然中文是通过urlencode(“数据库设计”)得到的字符串是:%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1

真正的问题来了:

当我使用了伪静态后,发现自动把 “%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1” urldecode解码了。

在网上找了好多资料,说是只要urlencode(urlencode(“数据库设计”))就行了,没错,虽然管用了。但是这样的话就不如我直接使用这个标签id就好了,比如/t/123。但是我想要的是显示中文,就和本站的效果一样。

举个例子,伪静态代码如下:

RewriteCond %{QUERY_STRING} ^(.*)$RewriteRule ^(.*)/abc/([\w_\-\%\|\!\,\#]+)$ $1/abc.php?tag=$1&%1 [L]

那么如何才能禁止apache和Nginx自动把字符串解码呢?

你这个Rewrite应该不会英文中文产生歧义吧,只是你配置Rewrite参数里只识别了encode形式的文字,所以导致了不能重新向而已吧。

你可以直接在正则里接受所有字符,这样就可以正常运行了。

另外,自动解码应该是浏览器完成的,不是WebServer控制的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。