Nginx反斜杠自动解码问题解决方法_nginx

nginx 会对uri中的字符进行解码然后传递给fastCGI,一般情况下也无妨,偏偏我的搜索词中含有反斜杠,编码后的地址

复制代码 代码如下:

/search/Madmanfoo%2fLovesong/

nginx传递给php的地址就变成了,我用的PATHINFO所以无法得到正确的结果

复制代码 代码如下:

/search/Madmanfoo/Lovesong/

把nginx官网找了个遍也没找到阻止自动解码的配置,实在不想二次编码,从http://stackoverflow.com/questions/8264239/nginx-unescapes-2f-to-a-forward-slash-how-can-i-stop-it找到了一个类似的帖子,看样只能二次编码了,据说官方就是这么建议的。为了保持地址的美观只对影响PATHINFO的反斜杠进行了二次编码。

复制代码 代码如下:

$keyword=urlencode($keyword);
$keyword=str_replace(array('%2F','%2f'),'%252F',$keyword);

如果有更好的解决办法欢迎指正。

时间: 2024-08-01 16:10:03

Nginx反斜杠自动解码问题解决方法_nginx的相关文章

方法-java可以把点号转换成反斜杠吗

问题描述 java可以把点号转换成反斜杠吗 RT: 问题描述 String s="cn.sun.dao"; String d=s.replaceAll(".","/");//这个方法实际上匹配的是正则表达式? 对点号进行替换会有问题,其他的没什么问题.有没有其他方法可以替换点号啊! 解决方案 上当了,回复后CSDN会将两个反斜杠转换成一个,上面回复的内容中都出现了这个问题,请以这个答案为准. replaceAll方法中替换支持正则表达式,你的代码

掌握C++编程中反斜杠续行符的使用方法_C 语言

1) 用在宏定义中: #define CV_ARE_SIZES_EQ(mat1, mat2) \ ((mat1)->rows == (mat2)->rows && (mat1)->cols == (mat2)->cols) 2) 用在printf中,有时候printf中语句太长,需要切分,则需用到反斜杠: 3) 用"//"只能注释当前行的语句,想要将下一行一起注释掉,则可以在该行最后加上反斜杠. 另外,反斜杠除了强制换行的作用之外,还有转义符的意

处理php自动反斜杠的函数代码_php技巧

复制代码 代码如下: //处理php自动反斜杠 if (get_magic_quotes_gpc()) { function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } $_POST = array_map('stripslashes_deep', $_POST); $_

PHP在引号前面添加反斜杠的原因及PHP去除反斜杠的办法,三种办法关闭php魔术引号

一般空间商提供的服务器空间默认PHP 指令 magic_quotes_gpc是on的,也就是打开的.这时候就可以用stripslashes() 函数删除自动添加的反斜杠.用法就是:比如包含字符串的变量是$str,那么就用stripslashes() 函数处理一下这个字符串:stripslashes($str),输出的结果就是去掉反斜杠的. 如果遇到输出的结果中包含反斜杠的,可对输出内容用stripslashes()函数处理一下,即$str=stripslashes($str),保存即可将输出内容

shell脚本中的反引号,单引号,双引号与反斜杠

转自:http://blog.sina.com.cn/s/blog_6561ca8c0102we2i.html   反引号位 (`)经常被忽略,而且容易与单引号弄混.它位于键盘的Tab键的上方.1键的左方.单引号(')位于Enter键的左方.在Linux中反引号起着命令替换的作用.命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置,将反引号中的字符串做为命令来执行,我们在用shell编程时经常用的到,将系统命令的执行结果赋给一个变量.如下,shell会执行反引号中的date命

linux shell中单引号、双引号、反引号、反斜杠的区别_linux shell

1. 单引号 ( '' ) # grep Susan phonebook Susan Goldberg 403-212-4921 Susan Topple 212-234-2343 如果我们想查找的是Susan Goldberg,不能直接使用grep Susan Goldberg phonebook命令,grep会把Goldberg和phonebook当作需要搜索的文件 # grep 'Susan Gold' phonebook Susan Goldberg 403-212-4921 当shel

php反斜杠处理函数addslashes()和stripslashes()的使用教程

php 反斜杠处理函数 addslashes():对输入字符串中的某些预定义字符前添加反斜杠,这样处理是为了数据库查询语句等的需要.这些预定义字符是:单引号 (') ,双引号 (") ,反斜杠 (\) ,NULL. stripslashes():删除由 addslashes() 函数添加的反斜杠.该函数用于清理从数据库或 HTML 表单中取回的数据.(若是连续二个反斜杠,则去掉一个,保留一个:若只有一个反斜杠,就直接去掉.) 默认情况下,PHP 指令 magic_quotes_gpc 为 on,

急问ie链接中多个反斜杠问题!

问题描述 我现在有个链接是这样格式:http://oa.jx.shxx.cn//test/aasji/..........,大家看到cn后有两个/,但打开链接后系统会自动去掉一个/变成http://oa.jx.shxx.cn//test/aasji/..........,也就是说打开链接没问题,我想知道这个会不会有什么问题??? 解决方案 解决方案二:打开后变成http://oa.jx.shxx.cn/test/aasji/..........,不好意思,打急了!解决方案三:你把你链接的格式改为

php 反斜杠处理函数addslashes()和stripslashes()实例详解

php 反斜杠处理函数 addslashes():对输入字符串中的某些预定义字符前添加反斜杠,这样处理是为了数据库查询语句等的需要.这些预定义字符是:单引号 (') ,双引号 (") ,反斜杠 (\) ,NULL. stripslashes():删除由 addslashes() 函数添加的反斜杠.该函数用于清理从数据库或 HTML 表单中取回的数据.(若是连续二个反斜杠,则去掉一个,保留一个:若只有一个反斜杠,就直接去掉.) 默认情况下,PHP 指令 magic_quotes_gpc 为 on,