<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[麦子]]></title> 
<description><![CDATA[即使破碎，姿态也要优美……]]></description>
<link>http://www.niaox.cn/</link>
<language>zh-cn</language>
<generator>www.emlog.net</generator>
<item>
	<title>emlog4.0伪静态规则for nginx/iis</title>
	<link>http://www.niaox.cn/emlog_nginx_iis_rewrite</link>
	<description><![CDATA[<p><span style="line-height:22px;border-collapse:collapse;font-family:Verdana, Helvetica, Arial, sans-serif;color:#000000;font-size:12px;" class="Apple-style-span"><strong>nginx：</strong></span></p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">location / {
        index index.php index.html;
        if (!-e $request_filename)
        {
                rewrite ^/(.+)$ /index.php last;
        }
}</pre> <p><span style="font-family:Verdana, Helvetica, Arial, sans-serif;" class="Apple-style-span"><span style="line-height:22px;border-collapse:collapse;font-size:12px;" class="Apple-style-span"><strong>IIS6：</strong></span></span></p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule /rss.php(.*) /rss.php$1 [L]
RewriteRule /tb.php(.*) /tb.php$1 [L]
RewriteRule /favicon.ico /favicon.ico [L]
RewriteRule /xmlrpc.php(.*) /xmlrpc.php$1 [L] 
RewriteRule /wlwmanifest.xml /wlwmanifest.xml [L] 
RewriteRule /(t|m)$ /$1/ [R]
RewriteRule /(admin|content|include|t|m)/(.*) /$1/$2 [L]
RewriteRule /install.php(.*) /install.php$1 [L]
RewriteRule /emlog_toolkit.php(.*) /emlog_toolkit.php$1 [L]
RewriteRule /up(\d.\d.\d)to(\d.\d.\d).php(.*) /up$1to$2.php$3 [L]
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]</pre> <p style="line-height:22px;border-collapse:collapse;font-family:Verdana, Helvetica, Arial, sans-serif;"><span style="color:red;"><span style="font-size:12px;">【注】关于IIS6规则说明</span></span><span style="font-size:12px;">：由于IIS6不支持.htaccess的一些判断规则，因此只能事先处理一些会被正常</span></p>
<p style="line-height:22px;border-collapse:collapse;font-family:Verdana, Helvetica, Arial, sans-serif;"><span style="font-size:12px;">访问的目录或者文件。</span><span style="line-height:18px;border-collapse:separate;font-family:'sans serif', tahoma, verdana, helvetica;" class="Apple-style-span">有些地方可能需要做修改：</span></p>
<p style="line-height:22px;border-collapse:collapse;font-family:Verdana, Helvetica, Arial, sans-serif;"><span style="line-height:18px;border-collapse:separate;font-family:'sans serif', tahoma, verdana, helvetica;font-size:12px;" class="Apple-style-span">1、如果你有其他文件要能正常访问的，参考规则中第五行</span></p>
<span style="font-size:12px;"><pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">RewriteRule /rss.php(.*) /rss.php$1 [L]</pre> <p>将rss.php修改为你要访问的文件即可，如果是目录，则参考第10、11行，将目录添加进来：</span></p>
<p></p>
<span style="font-size:12px;"><pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">RewriteRule /(t|m|admin)$ /$1/ [R] 
RewriteRule /(admin|content|include|t|m)/(.*) /$1/$2 [L]</span><p></p>
</pre> <p><span style="font-size:12px;">2、如果你的博客在子目录，那么需要将所有目录都改为子目录的，比如你的博客在emlog目录下，那么规则如下：<br />
</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule /emlog/rss.php(.*) /emlog/rss.php$1 [L]
RewriteRule /emlog/tb.php(.*) /emlog/tb.php$1 [L]
RewriteRule /emlog/favicon.ico /emlog/favicon.ico [L]
RewriteRule /emlog/xmlrpc.php(.*) /emlog/xmlrpc.php$1 [L] 
RewriteRule /emlog/wlwmanifest.xml /emlog/wlwmanifest.xml [L] 
RewriteRule /emlog/(t|m)$ /emlog/$1/ [R]
RewriteRule /emlog/(admin|content|include|t|m)/(.*) /emlog/$1/$2 [L]
RewriteRule /emlog/install.php(.*) /emlog/install.php$1 [L]
RewriteRule /emlog/emlog_toolkit.php(.*) /emlog/emlog_toolkit.php$1 [L]
RewriteRule /emlog/up(\d.\d.\d)to(\d.\d.\d).php(.*) /emlog/up$1to$2.php$3 [L]
RewriteRule ^/emlog/$ /emlog/index.php [L]
RewriteRule /emlog/(.*) /emlog/index.php/$1 [L]</pre></span>]]></description>
	<pubDate>Mon, 22 Aug 2011 08:36:47 +0000</pubDate>
	<author>麦子</author>
	<guid>http://www.niaox.cn/emlog_nginx_iis_rewrite</guid>

</item>
<item>
	<title>一个不错的在线工具，躲开关键字搜索</title>
	<link>http://www.niaox.cn/guanjianzi</link>
	<description><![CDATA[<p>│性│古│妨│词│的│上│到│文│用│在│方│并│由│文│此│<br />
│。│典│碍│语│防│去│要│章│这│论│便│且│右│字│工│<br />
│还│文│阅│的│止│。│发│转│个│坛│读│增│至│转│具│<br />
│不│化│读│检│网│这│表│化│工│、│者│加│左│换│可│<br />
│快│，│。│索│站│样│的│，│具│博│阅│适│的│为│以│<br />
│试│又│即│过│程│还│论│然│把│客│读│当│方│古│把│<br />
│试│增│弘│滤│序│可│坛│后│要│发│。│的│式│典│普│<br />
│。│加│扬│，│对│以│、│再│发│言│您│线│显│的│通│<br />
│　│趣│中│且│某│有│博│粘│表│之│可│标│示│竖│横│<br />
│　│味│华│不│些│效│客│贴│的│前│以│，│，│排│排│<br />
此古书式竖排格式由http://www.cshbl.com/gushu.html 生成</p>]]></description>
	<pubDate>Fri, 19 Aug 2011 18:07:45 +0000</pubDate>
	<author>麦子</author>
	<guid>http://www.niaox.cn/guanjianzi</guid>

</item>
<item>
	<title>Windows XP 64位中文版下载+安装序列号</title>
	<link>http://www.niaox.cn/windows-xp-64_cdkey</link>
	<description><![CDATA[<p>我们经常使用的都是Windows XP 32位的版本，其实微软也发布了一个64位的Windows XP版本，只是一直没有真正的64为Windows XP中文版，而是简体中文包和繁体中文包的形式。</p>
<p>现在大家都是大内存了，32位的XP系统支持不了4G内存；64位的可以哦。</p>
<p><strong>Windows XP SP2（x64）VOL版ISO下载（迅雷下载方式）：</strong></p>
<p><a href="thunder://QUFodHRwOi8vc29mdHdhcmUubmN1LmVkdS50dy85Ni9FTi9pc28vWFBfNjRiaXQuaXNvWlo=/" target="_blank"><span style="color:#0044aa;">thunder://QUFodHRwOi8vc29mdHdhcmUubmN1LmVkdS50dy85Ni9FTi9pc28vWFBfNjRiaXQuaXNvWlo=</span></a></p>
<p><strong>Windows XP SP2（x64）VOL版ISO下载（快车下载方式）：<br />
</strong>Flashget://W0ZMQVNIR0VUXWh0dHA6Ly9zb2Z0d2FyZS5uY3UuZWR1LnR3Lzk2L0VOL2lzby9YUF82NGJpdC5pc29bRkxBU0hHRVRd&amp;0&amp;0</p>
<p><strong>Windows XP SP2（x64）VOL版中文语言包下载（微软官方）；</strong><br />
包含：韩文，简体中文，繁体中文版的语言包，大小561MB<br />
<a href="http://download.microsoft.com/download/f/d/a/fdac56ee-928a-4d51-9d6d-c7c64e9f5bae/ARMMUIx3.iso" target="_blank"><span style="color:#2a7a98;"><span style="text-decoration:underline;">http://download.microsoft.com/download/f/d/a/fdac56ee-928a-4d51-9d6d-c7c64e9f5bae/ARMMUIx3.iso</span></span></a></p>
<p><strong>Windows XP SP2（x64）VOL版安装序列号：</strong><br />
B66VY-4D94T-TPPD4-43F72-8X4FY<br />
VCFQD-V9FX9-46WVH-K3CD4-4J3JM</p>
<p>Hash效验信息:<br />
MD5: 33A35E7544201EA47FEE6CAC6A52153B<br />
SHA1: CD9479E1DBAD7F26B8BDCF97E4AA71CBB8DE932B<br />
CRC32: FFFFFFFF</p>]]></description>
	<pubDate>Fri, 19 Aug 2011 18:06:24 +0000</pubDate>
	<author>麦子</author>
	<guid>http://www.niaox.cn/windows-xp-64_cdkey</guid>

</item>
<item>
	<title>国内巨快的Centos yum源</title>
	<link>http://www.niaox.cn/centos_yum_yuan</link>
	<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;今天用yum去安装软件，发现速度蜗牛一样，在网上搜了一下发现一个速度巨快的yum源，共享之……<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CentOS USTC mirror <a href="http://centos.ustc.edu.cn/centos/"><span style="color:#0044aa;">http://centos.ustc.edu.cn/centos/</span></a> 安装后请按照以下步骤修改CenOS-Base.repo,以后就可以方便的用yum安装软件了.：</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">cd /etc/yum.repos.d mv CentOS-Base.repo  CentOS-Base.repo.save
wget http://centos.ustc.edu.cn/CentOS-Base.repo</pre> <p>修改以上文件后, 如需要安装gcc, 直接yum install gcc就可以了</p>]]></description>
	<pubDate>Fri, 19 Aug 2011 18:04:31 +0000</pubDate>
	<author>麦子</author>
	<guid>http://www.niaox.cn/centos_yum_yuan</guid>

</item>
<item>
	<title>Nginx动态限速模块:Nginx-limit-traffic-rate-module</title>
	<link>http://www.niaox.cn/nginx_limit_traffic_rate_module</link>
	<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nginx自身提供了限制并发连接数和限制单连接速率的功能，可以根据这两个参数，对客户端进行粗略的速度控制。<br />
例如，设定每个ip最大5个并发连 接，每个连接最大100kBps，那么可以将客户端的最大速率控制在500kBps。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;但是这样带来一个问题，如果用户使用单线程的下载工具，那么只能达到 100kBps的速度，只有使用多线程下载工具才能达到500kBps。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;所以有人就做了一个模块，可以动态的进行限速，针对配置文件中定义的变量给定一个最大速度，所有满足这个变量的连接共享这个最大速度。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下载地址：<a href="https://github.com/bigplum/Nginx-limit-traffic-rate-module">https://github.com/bigplum/Nginx-limit-traffic-rate-module</a></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;配置方法：<br />
</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">http { 
limit_traffic_rate_zone rate $remote_addr 32m;  //remote_addr可以替换成request_uri等变量   
server { 
location /download/ { 
limit_traffic_rate rate 20k; 
} 
} 
} </pre>]]></description>
	<pubDate>Fri, 19 Aug 2011 18:00:16 +0000</pubDate>
	<author>麦子</author>
	<guid>http://www.niaox.cn/nginx_limit_traffic_rate_module</guid>

</item>
<item>
	<title>Nginx+Ssl的安装配置</title>
	<link>http://www.niaox.cn/nginx_ssl</link>
	<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;今天要调试一个SSL证书的有效性，在Apache下完全正常，就试着放到Nginx下做测试，根据网上的教程安装配置完成后，启动Nginx都正常，也让我输入证书的密码了……但就是无法访问，日志上报证书的密码出错，后来自己摸索了一下，是一些教程写地不够详细，下面是我的安装步骤：</p>
<p>1.下载安装包</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.gz
wget http://www.nginx.com.cn/download/nginx-0.8.20.tar.gz 
wget http://www.openssl.org/source/openssl-0.9.8d.tar.gz 
wget http://labs.frickle.com/files/ngx_cache_purge-1.2.tar.gz </pre> <p>2.安装pcre</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">tar -zvxf pcre-7.9.tar.gz
cd pcre-7.9
./configure
make -j10
make install</pre> <p>3.安装OpneSsl</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">tar -zvxf openssl-0.9.8d.tar.gz
cd openssl-0.9.8d
./config
make -j10
make install</pre> <p>4.安装Nginx</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">tar -zvxf  ngx_cache_purge-1.2.tar.gz
tar -zvxf  nginx-0.8.20.tar.gz
cd nginx-0.8.20
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
./configure  –user=www –group=www –add-module=../ngx_cache_purge-1.2 –with-md5=/usr/lib –with-sha1=/usr/lib –with-cc-opt="-I /usr/local/pcre -I /usr/local/ssl/include/openssl" –with-http_ssl_module –with-http_stub_status_module
make -j10
make install</pre> <p>5.配置Nginx</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">……（略去）
server
{
listen       443;
server_name  你的域名;
ssl                  on;
ssl_certificate      cert.crt;
ssl_certificate_key  cert.key;（定义好上面两个证书文件的路径和文件名）
ssl_session_timeout  5m;
ssl_protocols  SSLv2 SSLv3 TLSv1;
ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers   on;
index index.html index.htm index.jsp;
root  /via/www/root;
location /
……（略去）</pre> <p>6.启动Nginx</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">/usr/local/nginx/sbin/nginx</pre>]]></description>
	<pubDate>Fri, 19 Aug 2011 17:55:58 +0000</pubDate>
	<author>麦子</author>
	<guid>http://www.niaox.cn/nginx_ssl</guid>

</item>
<item>
	<title>apache加速mod_pagespeed模块安装教程</title>
	<link>http://www.niaox.cn/apache_mod_pagespeed</link>
	<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在很多人还是感觉自己网站速度不够快的，寻找各种加速方法的时候，Google又出了一个给网站加速的模块，apache加速模块mod_pagespeed。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;早在去年6月，Google 为开发者提供了一个可以给出相关网站优化建议的工具 Page Speed，但是有了建议后的后续执行工作也是很麻烦的。贴心的 Google 特为懒惰型管理员提供了傻瓜化解决方案：mod_pagespeed。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;据称该模块可以有效将网页加载速度提高50%，Google这款加速模块简单的解决了许多复情况的问题：</p>
<div id="kindeditor" class="quote">
<p>•如果你的网站采用apache构建服务器，不需要对网站CMS系统进行处理即可应用；</p>
<p>•加速模块可以自行对网络传输的html字节优化及对图象，css进入压缩优化传输；</p>
<p>•智能缓存是一大亮点，它可以自动智能缓存，加速下载。</p>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;目前这套优化模块已经应用具于有 850万客户的GoDaddy 服务器上，而且反响良好。根据此前的一些实践来看， 通过 mod_pagespeed 可以对 Web 性能的多个方面，包括缓存、客户端与服务器之间的连接、载荷大小等进行优化，最大可将页面加载时间缩短 50% 。</p>
<p><strong>1.支持的操作系统和apache 版本：</strong></p>
<p>CentOS/Fedora （32-bit and 64-bit）</p>
<p>Debian/Ubuntu （32-bit and 64-bit）</p>
<p>Apache 2.2</p>
<p>mod_pagespeed 32-bit .deb (Debian/Ubuntu) <span style="color:#181818;"><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.deb" target="_blank"><span style="color:#0044aa;">下载</span></a></span></p>
<p>mod_pagespeed 64-bit .deb (Debian/Ubuntu) <span style="color:#181818;"><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb" target="_blank"><span style="color:#0044aa;">下载</span></a></span></p>
<p>mod_pagespeed 32-bit .rpm (CentOS/Fedora)<span style="color:#181818;"><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.rpm" target="_blank"><span style="color:#0044aa;">下载</span></a></span></p>
<p>mod_pagespeed 64-bit .rpm (CentOS/Fedora) <a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_x86_64.rpm" target="_blank"><span style="color:#181818;">下载</span></a></p>
<p><strong>2.安装方式<br />
a.在 Debian/Ubuntu系统，请运行以下命令：</strong></p>
<p>下载32-bit</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">wegt https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.deb</pre> <p>下载64-bit</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">wegt https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb</pre> <p>安装 mod_pagespeed ：</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">sudo dpkg-i mod-pagespeed*.deb
apt-get-f install</pre> <p>删除下载文件mod_pagespee</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">rm mod-pagespeed*.deb</pre> <p>修改域名并重启apache</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">sudo /etc/init.d/apache2 restart</pre> <p>注：意其中的mod-pagespeed*.deb为对应模块版本文件名</p>
<p>设置pagespeed.conf ：</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">nano /etc/apache2/mods-available/pagespeed.conf</pre> <p>修改域名并重启apache</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">sudo /etc/init.d/apache2 restart</pre> <p>刷新网站几次，确保安装成功</p>
<p><strong>b.在CentOS/Fedora系统在运行</strong>：</p>
<p>下载32-bit</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">wegt https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.rpm</pre> <p>下载64-bit</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">wegt https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_x86_64.rpm</pre> <p>安装 mod_pagespeed ：</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">yum localinstall mod_pagespeed_*.rpm</pre> <p>或者</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">rpm -i mod_pagespeed_*.rpm</pre> <p>删除下载文件mod_pagespeed</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">rm mod-pagespeed*.rpm</pre> <p>注：意其中的mod-pagespeed*.rpm为对应模块版本文件名</p>
<p>设置pagespeed.conf ：</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">vi /etc/apache2/mods-available/pagespeed.conf</pre> <p>修改域名并重启apache</p>
<pre class="brush:shell; toolbar: true;gutter: true;auto-links: false;">sudo /etc/init.d/apache2 restart</pre>]]></description>
	<pubDate>Fri, 19 Aug 2011 17:50:36 +0000</pubDate>
	<author>麦子</author>
	<guid>http://www.niaox.cn/apache_mod_pagespeed</guid>

</item>
<item>
	<title>Nginx打开网站目录浏览功能</title>
	<link>http://www.niaox.cn/Nginx_Autoindex</link>
	<description><![CDATA[<p>在Nginx下默认是不允许列出整个目录的。如需此功能，<br />
先打开nginx.conf文件，在location server 或 http段中加入</p>
<p>autoindex on;<br />
另外两个参数最好也加上去:</p>
<p>autoindex_exact_size off;<br />
默认为on，显示出文件的确切大小，单位是bytes。<br />
改为off后，显示出文件的大概大小，单位是kB或者MB或者GB</p>
<p>autoindex_localtime on;<br />
默认为off，显示的文件时间为GMT时间。<br />
注意:改为on后，显示的文件时间为文件的服务器时间</p>
<pre class="brush:java; toolbar: true;gutter: true;auto-links: false;">server{
listen 80;
servername www.A.com;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
root /home/www/;
}</pre>]]></description>
	<pubDate>Fri, 19 Aug 2011 17:49:21 +0000</pubDate>
	<author>麦子</author>
	<guid>http://www.niaox.cn/Nginx_Autoindex</guid>

</item>
<item>
	<title>Nginx Rewrite 参数和例子</title>
	<link>http://www.niaox.cn/nginx_rewrite</link>
	<description><![CDATA[<p>正则表达式匹配，其中：</p>
<div id="kindeditor" class="quote">* ~ 为区分大小写匹配<br />
* ~* 为不区分大小写匹配<br />
* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配<br />
</div>
<p>文件及目录匹配，其中：</p>
<div id="kindeditor" class="quote">* -f和!-f用来判断是否存在文件<br />
* -d和!-d用来判断是否存在目录<br />
* -e和!-e用来判断是否存在文件或目录<br />
* -x和!-x用来判断文件是否可执行<br />
</div>
<p>flag标记有：</p>
<div id="kindeditor" class="quote">* last 相当于Apache里的[L]标记，表示完成rewrite<br />
* break 终止匹配, 不再匹配后面的规则<br />
* redirect 返回302临时重定向 地址栏会显示跳转后的地址<br />
* permanent 返回301永久重定向 地址栏会显示跳转后的地址<br />
</div>
<p>一些可用的全局变量有，可以用做条件判断(待补全)</p>
<div id="kindeditor" class="quote">$args<br />
$content_length<br />
$content_type<br />
$document_root<br />
$document_uri<br />
$host<br />
$http_user_agent<br />
$http_cookie<br />
$limit_rate<br />
$request_body_file<br />
$request_method<br />
$remote_addr<br />
$remote_port<br />
$remote_user<br />
$request_filename<br />
$request_uri<br />
$query_string<br />
$scheme<br />
$server_protocol<br />
$server_addr<br />
$server_name<br />
$server_port<br />
$uri<br />
</div>
<p>结合QeePHP的例子</p>
<div id="kindeditor" class="quote">if (!-d $request_filename) {<br />
rewrite ^/([a-z-A-Z]+)/([a-z-A-Z]+)/?(.*)$ /index.php?namespace=user&amp;amp;controller=$1&amp;amp;action=$2&amp;amp;$3 last;<br />
rewrite ^/([a-z-A-Z]+)/?$ /index.php?namespace=user&amp;amp;controller=$1 last;<br />
break;<br />
</div>
<p>多目录转成参数<br />
abc.domian.com/sort/2 =&gt; abc.domian.com/index.php?act=sort&amp;name=abc&amp;id=2</p>
<div id="kindeditor" class="quote">if ($host ~* (.*)\.domain\.com) {<br />
set $sub_name $1;&nbsp;&nbsp; <br />
rewrite ^/sort\/(\d+)\/?$ /index.php?act=sort&amp;cid=$sub_name&amp;id=$1 last;<br />
}<br />
</div>
<p>目录对换<br />
/123456/xxxx -&gt; /xxxx?id=123456</p>
<div id="kindeditor" class="quote">rewrite ^/(\d+)/(.+)/ /$2?id=$1 last;<br />
</div>
<p>例如下面设定nginx在用户使用ie的使用重定向到/nginx-ie目录下：</p>
<div id="kindeditor" class="quote">if ($http_user_agent ~ MSIE) {<br />
rewrite ^(.*)$ /nginx-ie/$1 break;<br />
}<br />
</div>
<p>目录自动加“/”</p>
<div id="kindeditor" class="quote">if (-d $request_filename){<br />
rewrite ^/(.*)([^/])$ <a href="http://$host/$1$2/">http://$host/$1$2/</a> permanent;<br />
}<br />
</div>
<p>禁止htaccess</p>
<div id="kindeditor" class="quote">location ~/\.ht {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deny all;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>禁止多个目录</p>
<div id="kindeditor" class="quote">location ~ ^/(cron|templates)/ {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deny all;<br />
break;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>禁止以/data开头的文件<br />
可以禁止/data/下多级目录下.log.txt等请求;</p>
<div id="kindeditor" class="quote">location ~ ^/data {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deny all;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>禁止单个目录<br />
不能禁止.log.txt能请求</p>
<div id="kindeditor" class="quote">location /searchword/cron/ {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deny all;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>禁止单个文件</p>
<div id="kindeditor" class="quote">location ~ /data/sql/data.sql {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deny all;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>给favicon.ico和robots.txt设置过期时间;<br />
这里为favicon.ico为99天,robots.txt为7天并不记录404错误日志</p>
<div id="kindeditor" class="quote">location ~(favicon.ico) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log_not_found off;<br />
expires 99d;<br />
break;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp; location ~(robots.txt) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log_not_found off;<br />
expires 7d;<br />
break;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>设定某个文件的过期时间;这里为600秒，并不记录访问日志</p>
<div id="kindeditor" class="quote">location ^~ /html/scripts/loadhead_1.js {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; access_log&nbsp;&nbsp; off;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root /opt/lampp/htdocs/web;<br />
expires 600;<br />
break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>文件反盗链并设置过期时间<br />
这里的return 412 为自定义的http状态码，默认为403，方便找出正确的盗链的请求<br />
“rewrite ^/ <a href="http://leech.c1gstudio.com/leech.gif">http://leech.c1gstudio.com/leech.gif</a>;”显示一张防盗链图片<br />
“access_log off;”不记录访问日志，减轻压力<br />
“expires 3d”所有文件3天的浏览器缓存</p>
<div id="kindeditor" class="quote">location ~* ^.+\.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ {<br />
valid_referers none blocked *.c1gstudio.com *.c1gstudio.net localhost 208.97.167.194;<br />
if ($invalid_referer) {<br />
&nbsp;&nbsp;&nbsp; rewrite ^/ <a href="http://leech.c1gstudio.com/leech.gif">http://leech.c1gstudio.com/leech.gif</a>;<br />
&nbsp;&nbsp;&nbsp; return 412;<br />
&nbsp;&nbsp;&nbsp; break;<br />
}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; access_log&nbsp;&nbsp; off;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root /opt/lampp/htdocs/web;<br />
expires 3d;<br />
break;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>只充许固定ip访问网站，并加上密码</p>
<div id="kindeditor" class="quote">root&nbsp; /opt/htdocs/www;<br />
allow&nbsp;&nbsp; 208.97.167.194;<br />
allow&nbsp;&nbsp; 222.33.1.2;<br />
allow&nbsp;&nbsp; 231.152.49.4;<br />
deny&nbsp;&nbsp;&nbsp; all;<br />
auth_basic "C1G_ADMIN";<br />
auth_basic_user_file htpasswd;<br />
</div>
<p>将多级目录下的文件转成一个文件，增强seo效果<br />
/job-123-456-789.html 指向/job/123/456/789.html</p>
<div id="kindeditor" class="quote">rewrite ^/job-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /job/$1/$2/jobshow_$3.html last;<br />
</div>
<p>将根目录下某个文件夹指向2级目录<br />
如/shanghaijob/ 指向 /area/shanghai/<br />
如果你将last改成permanent，那么浏览器地址栏显是/location/shanghai/</p>
<div id="kindeditor" class="quote">rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;<br />
</div>
<p>上面例子有个问题是访问/shanghai 时将不会匹配</p>
<div id="kindeditor" class="quote">rewrite ^/([0-9a-z]+)job$ /area/$1/ last;<br />
rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;<br />
</div>
<p>这样/shanghai 也可以访问了，但页面中的相对链接无法使用，<br />
如./list_1.html真实地址是/area/shanghia/list_1.html会变成/list_1.html,导至无法访问。<br />
那我加上自动跳转也是不行咯<br />
(-d $request_filename)它有个条件是必需为真实目录，而我的rewrite不是的，所以没有效果</p>
<div id="kindeditor" class="quote">if (-d $request_filename){<br />
rewrite ^/(.*)([^/])$ <a href="http://$host/$1$2/">http://$host/$1$2/</a> permanent;<br />
}<br />
</div>
<p>知道原因后就好办了，让我手动跳转吧</p>
<div id="kindeditor" class="quote">rewrite ^/([0-9a-z]+)job$ /$1job/ permanent;<br />
rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;<br />
</div>
<p>文件和目录不存在的时候重定向：</p>
<div id="kindeditor" class="quote">if (!-e $request_filename) {<br />
proxy_pass <a href="http://127.0.0.1/">http://127.0.0.1</a>;<br />
}<br />
</div>
<p>域名跳转</p>
<div id="kindeditor" class="quote">server<br />
&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server_name&nbsp; jump.c1gstudio.com;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; index index.html index.htm index.php;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp; /opt/lampp/htdocs/www;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rewrite ^/ <a href="http://www.c1gstudio.com/">http://www.c1gstudio.com/</a>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; access_log&nbsp; off;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>多域名转向</p>
<div id="kindeditor" class="quote">server_name&nbsp; <a href="http://www.c1gstudio.com/">www.c1gstudio.com</a> <a href="http://www.c1gstudio.net/">www.c1gstudio.net</a>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; index index.html index.htm index.php;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp; /opt/lampp/htdocs;<br />
if ($host ~ "c1gstudio\.net") {<br />
rewrite ^(.*) <a href="http://www.c1gstudio.com$1/">http://www.c1gstudio.com$1</a> permanent;<br />
}<br />
</div>
<p>三级域名跳转</p>
<div id="kindeditor" class="quote">if ($http_host ~* "^(.*)\.i\.c1gstudio\.com$") {<br />
rewrite ^(.*) <a href="http://top.yingjiesheng.com$1/">http://top.yingjiesheng.com$1</a>;<br />
break;<br />
}<br />
</div>
<p>域名镜向</p>
<div id="kindeditor" class="quote">server<br />
&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server_name&nbsp; mirror.c1gstudio.com;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; index index.html index.htm index.php;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp; /opt/lampp/htdocs/www;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rewrite ^/(.*) <a href="http://www.c1gstudio.com/$1">http://www.c1gstudio.com/$1</a> last;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; access_log&nbsp; off;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>某个子目录作镜向</p>
<div id="kindeditor" class="quote">location ^~ /zhaopinhui {<br />
&nbsp; rewrite ^.+ <a href="http://zph.c1gstudio.com/">http://zph.c1gstudio.com/</a> last;<br />
&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>discuz ucenter home (uchome) rewrite</p>
<div id="kindeditor" class="quote">rewrite ^/(space|network)-(.+)\.html$ /$1.php?rewrite=$2 last;<br />
rewrite ^/(space|network)\.html$ /$1.php last;<br />
rewrite ^/([0-9]+)$ /space.php?uid=$1 last;<br />
discuz 7 rewrite<br />
rewrite ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)$ $1/archiver/index.php?$2 last;<br />
rewrite ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&amp;page=$3 last;<br />
rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&amp;extra=page\%3D$4&amp;page=$3 last;<br />
rewrite ^(.*)/profile-(username|uid)-(.+)\.html$ $1/viewpro.php?$2=$3 last;<br />
rewrite ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3 last;<br />
rewrite ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2 last;<br />
</div>
<p>给discuz某版块单独配置域名</p>
<div id="kindeditor" class="quote">server_name&nbsp; bbs.c1gstudio.com news.c1gstudio.com;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp; location = / {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($http_host ~ news\.c1gstudio.com$) {<br />
&nbsp; rewrite ^.+ <a href="http://news.c1gstudio.com/forum-831-1.html">http://news.c1gstudio.com/forum-831-1.html</a> last;<br />
&nbsp; break;<br />
}<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>discuz ucenter 头像 rewrite 优化</p>
<div id="kindeditor" class="quote">location ^~ /ucenter {<br />
&nbsp;&nbsp;&nbsp;&nbsp; location ~ .*\.php?$<br />
&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp; #fastcgi_pass&nbsp; unix:/tmp/php-cgi.sock;<br />
&nbsp; fastcgi_pass&nbsp; 127.0.0.1:9000;<br />
&nbsp; fastcgi_index index.php;<br />
&nbsp; include fcgi.conf;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp; location /ucenter/data/avatar {<br />
log_not_found off;<br />
access_log&nbsp;&nbsp; off;<br />
location ~ /(.*)_big\.jpg$ {<br />
&nbsp;&nbsp;&nbsp; error_page 404 /ucenter/images/noavatar_big.gif;<br />
}<br />
location ~ /(.*)_middle\.jpg$ {<br />
&nbsp;&nbsp;&nbsp; error_page 404 /ucenter/images/noavatar_middle.gif;<br />
}<br />
location ~ /(.*)_small\.jpg$ {<br />
&nbsp;&nbsp;&nbsp; error_page 404 /ucenter/images/noavatar_small.gif;<br />
}<br />
expires 300;<br />
break;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</div>
<p>jspace rewrite</p>
<div id="kindeditor" class="quote">location ~ .*\.php?$<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #fastcgi_pass&nbsp; unix:/tmp/php-cgi.sock;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fastcgi_pass&nbsp; 127.0.0.1:9000;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fastcgi_index index.php;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; include fcgi.conf;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; location ~* ^/index.php/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; rewrite ^/index.php/(.*) /index.php?$1 break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fastcgi_pass&nbsp; 127.0.0.1:9000;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fastcgi_index index.php;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; include fcgi.conf;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</div>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></description>
	<pubDate>Fri, 19 Aug 2011 17:16:41 +0000</pubDate>
	<author>麦子</author>
	<guid>http://www.niaox.cn/nginx_rewrite</guid>

</item>
<item>
	<title>nginx下discuz伪静态设置</title>
	<link>http://www.niaox.cn/nging_discuz_rewrite</link>
	<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nginx的规则相对apache来说确实要易懂一些，毕竟要nginx考虑的方面可能比apache少，会更灵活，伪静态也是如此。代码如下：</p>
<pre class="brush:java; toolbar: true;gutter: true;auto-links: false;">1.location /
2.{
3.rewrite ^/archiver/((fid|tid)-[\w\-]+\.html)$ /archiver/index.php?$1 last;
4.rewrite ^/forum-([0-9]+)-([0-9]+)\.html$ /forumdisplay.php?fid=$1&amp;amp;page=$2 last;
5.rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&amp;amp;extra=page%3D$3&amp;amp;page=$2 last;
6.&lt;span id="more-62"&gt;&lt;/span&gt;rewrite ^/tag-(.+)\.html$ /tag.php?name=$1 last;
7.}</pre>直接添加到nging.conf中相应域名的server段里，reload后即可。]]></description>
	<pubDate>Fri, 19 Aug 2011 17:15:03 +0000</pubDate>
	<author>麦子</author>
	<guid>http://www.niaox.cn/nging_discuz_rewrite</guid>

</item></channel>
</rss>
