<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[urlencode进行转换后 为什么空格是+号 不是%20， 在Nginx的URL转写时用.+匹配。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Tue, 20 Dec 2016 15:12:35 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：对于浏览器里有空格时候会转为%20，而还是是+，urlencode进行转换后 为什么空格是+号 不是%20？其实像Chrome浏览器显示的%20并不是urlencode，而是rawurlencode，摘自 ：https://zhidao.baidu.com/question/808110280104926972.html 。<br/>再就是对于一些线下二维码活动，如果二维码印错了，像上面多了一个不可见字符，是没法访问的，但印都印了，怎么办，得用Nginx的URLRewrite来解决掉。<br/><br/><br/>http://XXXX.com/201*daiyanren-01.html ?fv=e5e131274705a31b5607b257ebe9c653<br/>里面有一个空格，需要URL转写，但它不是空格，而是一个不可见的字符：&nbsp;&nbsp;.+ <br/>. 匹配除换行符 &#92;n 之外的任何单字符。要匹配 . ，请使用 &#92;. 。&nbsp;&nbsp;<br/>+ 匹配前面的子表达式一次或多次。要匹配 + 字符，请使用 &#92;+。<br/><br/>用&#92;s也能匹配到：<br/>&#92;s&nbsp;&nbsp;匹配任何空白字符，包括空格、制表符、换页符等等。等价于 [ &#92;f&#92;n&#92;r&#92;t&#92;v]。<br/><br/>这个不是空格看起来像是空格,&nbsp;&nbsp;&nbsp;&nbsp;所以，它rawurlencode 后并不是%20：<br/><textarea name="code" class="php" rows="15" cols="100">
 &lt;?php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;这个不是空格看起来像是空格:&#92;n&quot;;
&nbsp;&nbsp;&nbsp;&nbsp; echo rawurlencode (&#039;html ?fv=&#039;);
&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;&#92;n这个是空格是20%&#92;n&quot;;
&nbsp;&nbsp;&nbsp;&nbsp; echo rawurlencode (&#039;html ?fv=&#039;);
 ?&gt;
</textarea><br/><br/>php t.php&nbsp;&nbsp; <br/>这个不是空格看起来像是空格:<br/>html%C2%A0%3Ffv%3D<br/>这个是空格是20%<br/><br/>rawurlencode<br/><br/>将字符串编码成 URL 专用格式。<br/><br/>语法: string rawurldecode(string str);<br/><br/>返回值: 字符串<br/><br/>函数种类: 编码处理<br/><br/>内容说明<br/><br/>本函数将字符串编码成 URL 的字符串专用格式，特殊的字符会转换成百分比符号后面加上二个十六位数字的格式。例如，空格就会变成 %20。<br/><br/>使用范例<br/><br/>&lt;?php<br/>echo &#039;&lt;a href=&quot;ftp://guest:&#039;, rawurlencode (&#039;foo @+%/&#039;), &#039;@localhost/x.txt&quot;&gt;&#039;;<br/>?&gt;<br/><br/>来自：http://www.t086.com/code/php/function.php-rawurlencode.php<br/><br/>附录，Nginx的Url转写抄录：<br/><textarea name="code" class="php" rows="15" cols="100">
location ~* ^/purge(/201*daiyanren-01.html&#92; )$ &#123;
set $cache_uri $1;
syslog on;
allow 127.0.0.0/8;
allow 100.0.0.0/8;

deny all;
set $cache_gzip &quot;#inflate&quot;;
if ($http_accept_encoding ~* &#039;gzip&#124;deflate&#039;) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;set $cache_gzip &quot;#deflate&quot;;
&#125;
proxy_cache_purge cachezone_txt.jackxiang.com $host$cache_uri$cache_gzip;
&#125;
location ~* ^(/201*daiyanren-01.html&#92; )$ &#123;
set $cache_uri $uri;
set $cache_gzip &quot;#inflate&quot;;
if ($http_accept_encoding ~* &#039;gzip&#124;deflate&#039;) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;set $cache_gzip &quot;#deflate&quot;;
&#125;
rewrite ^(?P&lt;rewrite_uri&gt;.+)$ /201*daiyanren-01.html break;
proxy_temp_path /nginx_temp_dir/www/txt.jackxiang.com/temp;
proxy_cache cachezone_txt.jackxiang.com;
proxy_cache_key $host$cache_uri$cache_gzip;
proxy_pass http://www_jackxiang_com;
&#125;
</textarea>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] urlencode进行转换后 为什么空格是+号 不是%20， 在Nginx的URL转写时用.+匹配。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>