<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>船长日志 &#187; nginx重写</title>
	<atom:link href="http://www.cslog.cn/tag/nginx%e9%87%8d%e5%86%99/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cslog.cn</link>
	<description>最让我激动的是不知道下一个星球上能发现什么...</description>
	<lastBuildDate>Wed, 30 Jul 2025 16:06:05 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>再谈Nginx Rewrite， 中文URL和其它</title>
		<link>http://www.cslog.cn/Content/nginx-rewrite-chinese/</link>
		<comments>http://www.cslog.cn/Content/nginx-rewrite-chinese/#comments</comments>
		<pubDate>Fri, 29 Jun 2012 15:36:17 +0000</pubDate>
		<dc:creator>船长</dc:creator>
				<category><![CDATA[信息处理]]></category>
		<category><![CDATA[站长文档]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[nginx中文url重写]]></category>
		<category><![CDATA[nginx的utf8支持]]></category>
		<category><![CDATA[nginx重写]]></category>
		<category><![CDATA[pcre]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[url重写]]></category>
		<category><![CDATA[utf8]]></category>
		<category><![CDATA[中文]]></category>
		<category><![CDATA[中文url]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[汉字编码]]></category>

		<guid isPermaLink="false">http://www.cslog.cn/?p=1058</guid>
		<description><![CDATA[上次谈到过Nginx和中文URL的问题，这几天又加深了认识。 多分享几个关于Ng &#8230; <a href="http://www.cslog.cn/Content/nginx-rewrite-chinese/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>上次谈到过<a href="http://www.cslog.cn/Content/nginx-pcre-utf8-rewrite/">Nginx和中文URL的问题</a>，这几天又加深了认识。 多分享几个关于Nginx Rewrite的经验。</p>
<p>Nginx匹配指定中文URL的方法：<br />
<code><br />
rewrite "(*UTF8)^\x{66f4}\x{6539}$" /index.html last;<br />
</code><br />
这个会将 http://www.cslog.cn/%E6%9B%B4%E6%94%B9 重定向到http://www.cslog.cn/index.html。<br />
&#8216;/%E6%9B%B4%E6%94%B9&#8242;是中文URL ‘/更改’， \x{66f4}\x{6539}是这两个汉字的Unicode编码。</p>
<p>注意配合PCRE 7.9以上版本使用，详细看<a href="http://www.cslog.cn/Content/nginx-pcre-utf8-rewrite/">Nginx和中文URL的问题</a>。<br />
<span id="more-1058"></span><br />
Nginx匹配URL中中文参数的方法：<br />
如果要将 http://www.cslog.cn/index.php?title=%E6%9B%B4%E6%94%B9 重定向到http://www.cslog.cn, 则要使用<br />
<code><br />
location = /index\.php$ {<br />
if ($args_title =%E6%9B%B4%E6%94%B9 ) {<br />
rewrite ^ /;<br />
}<br />
}<br />
</code><br />
在这里， &#8216;?title=%E6%9B%B4%E6%94%B9&#8242; 是不能用上例那里的rewrite捕捉到的， 而要使用$arg_参数名这样的方式处理。 而且在这里， &#8216;%E6%9B%B4%E6%94%B9&#8242;是不用特别转换的，直接放上去就可以了。</p>
<p>还要注意到 location后面的 ~, *~, ^~, =或空是有不同的效果的。详细参看<a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#location">nginx的官方手册</a>。</p>
<p>让Nginx在同时识别到两个参数的情况下重定向的方法<br />
假设要在例如 http://www.cslog.cn/index.php?title=%E6%9B%B4%E6%94%B9&amp;lang=Zh-tw 这样的URL，只有在lang=Zh-tw参数存在，并且title参数也存在（不管它的值）的情况下才重定向， 要求会苛刻些，因为nginx自身没有并列的逻辑处理能力，但可以使用如下的方法曲线解决：<br />
<code><br />
location = /index\.php {<br />
set $redirect "";</code></p>
<p><code># 检查是否存在"title"参数:<br />
if ( $arg_title ) {<br />
set $redirect "Y";<br />
}</p>
<p># 检查lang参数是否为 "Zh-tw":<br />
if ( $arg_lang =Zh-tw ) {<br />
set $redirect "${redirect}ES";<br />
}</p>
<p># 看看条件是否同时成立 "YES":<br />
if ( $redirect = YES ) {<br />
rewrite ^ / last;<br />
}</p>
<p></code></p>
<p><code> ....<br />
}<br />
</code>
<div style="margin-top: 15px; font-style: italic">
<p>转载请注明: 转自<a href="http://www.cslog.cn/">船长日志</a>, 本文链接地址: <a href="http://www.cslog.cn/Content/nginx-rewrite-chinese/">http://www.cslog.cn/Content/nginx-rewrite-chinese/</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.cslog.cn/Content/nginx-rewrite-chinese/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
