<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title></title>
		<link>http://blog.is36.com/category//</link>
		<description>记录一个IT技术员的生活与技术</description>
		<copyright>Powered by SaBlog-X. Copyright (C) 2003-2009.</copyright>
		<generator>SaBlog-X Version Plus 2.0 Build 20090308</generator>
		<lastBuildDate>Mon, 06 Feb 2012 20:15:26 +0000</lastBuildDate>
		<ttl>30</ttl>
		<item>
			<guid>http://blog.is36.com/help_xielinlin/</guid>
			<title>请帮助浙江树人大学谢琳琳同学</title>
			<author>正冰</author>
			<description><![CDATA[正冰 ( http://blog.is36.com/ ) : <p style="text-align: center">&nbsp;人间自有真情在&nbsp; 献出鲜血播下爱<br />
&mdash;&mdash;为谢琳琳同学无偿献血的倡议书</p>
<p>不需要鲜花，不接受礼物，也不用夸张或含蓄的祝福。我们只需要你鼓起勇气，勇敢伸出你我的手臂，用你的爱心与她一起对抗病魔。</p>
<p>07装饰艺术设计1班的谢琳琳同学不幸患上了&ldquo;骨髓增生异常综合症&rdquo;， 主要特征是无效造血和高危演变为急性髓系白血病，当今的医疗条件下没有特效药可以治疗这个病。目前该同学病情严重，已发展到难治性血细胞减少伴多系血细胞减少及无效病态造血。其血小板只有常人的1/7（如血小板缺少严重，在受伤时将会血流不止）。需长期住院治疗，在治疗期间要不间断的输血作为治疗手段。该病情如得不到有效的控制将会转化成可怕的血癌。</p>
<p>目前医院用血紧张，而谢琳琳同学需要长期用血，院方承诺如有人无偿献血时指名给谢琳琳同学，那她将拥有优先用血权。希望大家踊跃献血，并告知身边的朋友在献血的时候指名给浙江省立同德医院住院部血液科十六区22号床谢琳琳，为她献一份爱心。</p>
<p>在此，艺术学院分团委、学生会呼吁全校所有师生：为爱捋袖，让生命的色彩流淌，用你我的爱心，留住她生命的春天！让我们永远在一起！</p>
<p>无偿献血</p>
<ul>
    <li>时间：周四（3月18日） 11：00-16：00</li>
    <li>地点：1号楼（查济民大厦）正门口</li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
PS：<span style="color: #ff0000"><u>献血者血型不限，只需在献血时指名给浙江省立同德医院住院部血液科十六区22号床 谢琳琳（为避免感染，请勿探视!）</u></span></p>
<hr />
<p>本信息来自&ldquo;浙江树人大学 艺术学院分团委、学生会&rdquo;，请各位同学伸出有情之手！</p>]]></description>
			<link>http://blog.is36.com/help_xielinlin/</link>
			<category domain="http://blog.is36.com/category/I_love_zjsru/">我爱树人</category>
			<pubDate>2010-03-16 20:05</pubDate>
		</item>
		<item>
			<guid>http://blog.is36.com/wordpress_rewrite_rule_for_nginx/</guid>
			<title>为“爱树人”增加rewrite功能（wordpress rewrite rule for nginx）</title>
			<author>正冰</author>
			<description><![CDATA[正冰 ( http://blog.is36.com/ ) : <p>&ldquo;爱树人&rdquo;资讯频道（<a href="http://i.zjsru.com" target="_blank">http://i.zjsru.com</a>）选用的是wordpress程序架构，考虑到SEO问题，故在设计之初便加入rewrite功能，无奈功底欠深，没把wordpress在nginx下的rewrite规则写出来，只能求助google来搜索&hellip;&hellip;</p>
<p>终于搜到（测试链接后正常可用）：</p>
<p style="margin-left: 40px;"><strong>if (!-e $request_filename) {<br />
rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;<br />
rewrite ^([_0-9a-zA-Z-]+)?(/.*.php)$ $2 last;<br />
rewrite ^ /index.php last;<br />
}</strong></p>
<hr />
<p style="text-align: center;">WordPress 永久链接以及在各种平台上的实现方法</p>
<p style="text-align: center;">来源：http://showfom.com/wordpress-permalink/</p>
<p>很多刚开始玩 <strong>WordPress</strong> 的朋友一定对 <strong>WordPress</strong> 的永久链接很感兴趣，当然了，这个东西乍一眼看的确很新鲜，你想呀，发表文章啥的，空间里楞是没生成相应的目录或者 <strong>html文件</strong>，然后，就会有很多小盆友开始研究<strong> WordPress 的永久链接</strong>，或者叫做<strong>固定链接</strong>，英文名就是那个 <strong>Permalink </strong>，这里，我就来介绍一些<strong> WordPress</strong> 的永久链接原理、各个平台上的实现方法以及我推荐的几种永久链接形式。</p>
<p>&nbsp;</p>
<h1>一、原理</h1>
<p>由于专业知识说起来很枯燥，所以我就很形象地来描述一下原理：</p>
<p>根据偶的观察，<strong>WordPress</strong> 实现永久链接的方法如下，首先，访问者（就是你我）访问一个地址，比如：<a href="http://showfom.com/back-home-2009/" tip="http://showfom.com/back-home-2009/">http://showfom.com/back-home-2009/</a></p>
<p>但是事实上并没有 <strong>/back-home-2009/</strong> 这个目录呀，咋办捏？</p>
<p>这个时候 <strong>WordPress</strong> 在设置好伪静态的情况下，就会请求 <strong>index.php</strong> 文件，然后通过层层关系，生成一个实际上并不存在但是可以访问的地址，伪静态就把<strong> index.php</strong> 这个丑陋的字符给去除，这样的链接形式更符合Web 2.0的标准，而且更加美观。</p>
<p>对于详细的原理，在这篇文章《<a target="_blank" href="http://wordpress.org.cn/viewthread.php?tid=36958" tip="">Wordpress Rewrite / Permalink内部过程分析</a>》里很详细地介绍了，有兴趣的童鞋可以自己查看。</p>
<h1>二、在各个平台的主机下的实现方法</h1>
<p><span style="color: rgb(0, 128, 255); font-size: x-small;"><strong>1、Apache</strong></span></p>
<p><strong>Apache </strong>下首先要开启 <strong>mod_rewrite 模块</strong>（具体教程在<a target="_blank" href="http://faq.comsenz.com/viewnews-763" tip="">这里</a>有视频，点击<a target="_blank" href="http://download.comsenz.com/teach/video/rewrite_apache.zip" tip="">这里</a>下载）</p>
<p>一般是自己买空间的新手无需自己配置 <strong>Apache</strong> 的模块（除非自己购买服务器或者<strong>VPS</strong>），所以一般很多空间商会宣称支持<strong>rewrite 伪静态</strong>，实际上在 <strong>Apache </strong>下开启了 <strong>mod_rewrite模块</strong> 后，只要在根目录下放一个<strong> .htaccess文件</strong> 即可，默认情况假如你的<strong> WordPress 根目录 </strong>可写，只要在后台设置永久链接就会自动生成一个 <strong>.htaccess&nbsp; 文件</strong>，假如没有生成，请直接用以下的代码：</p>
<blockquote>
<p># BEGIN WordPress<br />
&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
&lt;/IfModule&gt;</p>
<p># END WordPress</p>
</blockquote>
<p>用FTP保存为一个名为 <strong>.htaccess </strong>的文件即可，然后放在你的 <strong>WordPress</strong> 的根目录，然后进入<strong>后台</strong>，<strong>设置</strong> &gt; <strong>永久（固定）链接</strong>，选择自己喜欢的形式即可。</p>
<p>一般 <strong>Apache </strong>的主机设置 <strong>WordPress 永久链接</strong> 没有成功的原因都是自己没有生成这个<strong> .htaccess</strong> 文件或者空间商没有开启<strong>mod_rewrite 模块</strong> ，解决起来也很简单，下面介绍的三种平台就相对麻烦了。</p>
<p><span style="color: rgb(0, 128, 255); font-size: x-small;"><strong>2、Nginx</strong></span></p>
<p>我对<strong> Nginx</strong> 了解不是很多，但是自己的 <strong>VPS</strong> 用的就是<strong> Nginx</strong>，所以配置<strong> WordPress</strong> 的永久链接还是很简单滴，因为原理是<strong>WordPress</strong> 是通过 <strong>index.php</strong> 来实现伪静态，所以和<strong> Apache</strong> 下的伪静态规则类似，<strong>Nginx</strong>下就这段配置（一般加到 /usr/local/<strong>nginx/conf/nginx.conf</strong> 文件里）：</p>
<blockquote>
<p>if (!-e $request_filename) {<br />
rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;<br />
rewrite ^([_0-9a-zA-Z-]+)?(/.*.php)$ $2 last;<br />
rewrite ^ /index.php last;<br />
}</p>
</blockquote>
<p>送上一段<strong>完整</strong>的配置代码（没有开启日志功能哦）</p>
<blockquote>
<p>server<br />
{<br />
listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;<br />
server_name&nbsp; xiamipan.com www.xiamipan.com *.xiamipan.com;<br />
index index.html index.htm index.php;<br />
root&nbsp; /web/www/public_html/xiamipan.com;</p>
<p>#limit_conn&nbsp;&nbsp; crawler&nbsp; 20;</p>
<p>#location /status {<br />
#stub_status on;<br />
access_log off;<br />
#}</p>
<p>if (!-e $request_filename) {<br />
rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;<br />
rewrite ^([_0-9a-zA-Z-]+)?(/.*.php)$ $2 last;<br />
rewrite ^ /index.php last;<br />
}</p>
<p>location ~ .*\.(php|php5)?$<br />
{<br />
fastcgi_pass&nbsp; unix:/tmp/php-cgi.sock;<br />
#fastcgi_pass&nbsp; 127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
include fcgi.conf;<br />
}</p>
<p>location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$<br />
{<br />
expires&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30d;<br />
}</p>
<p>location ~ .*\.(js|css)?$<br />
{<br />
expires&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1d;<br />
}</p>
<p>log_format&nbsp; xiamipan&nbsp; &lsquo;$remote_addr &ndash; $remote_user [$time_local] &ldquo;$request&rdquo; &lsquo;<br />
&lsquo;$status $body_bytes_sent &ldquo;$http_referer&rdquo; &lsquo;<br />
&lsquo;&rdquo;$http_user_agent&rdquo; $http_x_forwarded_for&rsquo;;<br />
access_log&nbsp; /web/logs/xiamipan.log&nbsp; xiamipan;<br />
}</p>
</blockquote>
<p>好人做到底，对于用了<strong> WP Super Cache</strong> 的童鞋，在 <strong>Nginx </strong>下也得配置一下伪静态，送上完整的代码：</p>
<blockquote>
<p>server<br />
{<br />
listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;<br />
server_name&nbsp; wp.showfom.com;<br />
index index.html index.htm index.php;<br />
root&nbsp; /web/www/public_html/wp.showfom.com;</p>
<p>#limit_conn&nbsp;&nbsp; crawler&nbsp; 20;</p>
<p>#location /status {<br />
#stub_status on;<br />
access_log off;<br />
#}<br />
location /<br />
{<br />
autoindex off;<br />
set $wp_super_cache_file &rdquo;;<br />
set $wp_super_cache_uri $request_uri;<br />
if ( $request_method = POST )<br />
{<br />
set $wp_super_cache_uri &rdquo;;<br />
}<br />
if ( $query_string )<br />
{<br />
set $wp_super_cache_uri &rdquo;;<br />
}<br />
if ( $http_cookie ~* &ldquo;comment_author_|WordPress|wp-postpass_&rdquo; )<br />
{<br />
set $wp_super_cache_uri &rdquo;;<br />
}<br />
if ( $wp_super_cache_uri ~ ^(.+)$ )<br />
{<br />
set $wp_super_cache_file /wp-content/cache/wp_super_cache/$http_host/$1index.html;<br />
}<br />
if ( -f $document_root$wp_super_cache_file )<br />
{<br />
rewrite ^(.*)$ $wp_super_cache_file break;<br />
}<br />
if (-f $request_filename)<br />
{<br />
expires 30d;<br />
break;<br />
}<br />
if (!-e $request_filename)<br />
{<br />
rewrite ^(.+)$ /index.php?q=$1 last;<br />
}<br />
}</p>
<p>location ~ .*\.(php|php5)?$<br />
{<br />
fastcgi_pass&nbsp; unix:/tmp/php-cgi.sock;<br />
#fastcgi_pass&nbsp; 127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
include fcgi.conf;<br />
}</p>
<p>location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$<br />
{<br />
expires&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30d;<br />
}</p>
<p>location ~ .*\.(js|css)?$<br />
{<br />
expires&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1d;<br />
}</p>
<p>log_format&nbsp; t&nbsp; &lsquo;$remote_addr &ndash; $remote_user [$time_local] &ldquo;$request&rdquo; &lsquo;<br />
&lsquo;$status $body_bytes_sent &ldquo;$http_referer&rdquo; &lsquo;<br />
&lsquo;&rdquo;$http_user_agent&rdquo; $http_x_forwarded_for&rsquo;;<br />
access_log&nbsp; /web/logs/t.log&nbsp; t;<br />
}</p>
</blockquote>
<p>（PS：<strong>server_name</strong> 后面的绑定域名 和<strong> root</strong> 后面的所在目录需要修改成自己的，切记 <strong>Nginx 配置</strong>最重要的是最后几行的日志代 码，日志的<strong> .log</strong> 文件必须存在，而且文件名和变量一样并且不能和其他站点重复）</p>
<p><span style="color: rgb(0, 128, 255); font-size: x-small;"><strong>3、IIS</strong></span></p>
<p><strong>IIS</strong> 平台虽然不利于<strong> php</strong> （php 在 <strong>win</strong>平台 下只是一个模拟环境），但是还是有方法实现伪静态的，童鞋们可以参考这两种方法：</p>
<p>①、利用<a target="_blank" href="http://www.brsbox.com/filebox/down/fc/48dbce3c5219c1fcc5b6e90669c936e9" tip="">404.php</a></p>
<p>原理和 <strong>Apache</strong> 等其他平台一样，设置站点的 <strong>404 错误页面</strong>为这个<a target="_blank" href="http://www.brsbox.com/filebox/down/fc/48dbce3c5219c1fcc5b6e90669c936e9" tip="">404.php</a>，当访问一个实际并不存在的地址时，就请求<strong>404.php</strong> ，然后&hellip;&hellip;我就不说了，但是前提是你的空间能自定义错误页面（一定得用 <strong>php </strong>）</p>
<p>②、安装 <strong>IIS</strong> 的 <strong>ISAPI 组件</strong></p>
<p>这种方法适合能自己管理服务器的童鞋或者和你的空间商搞好关系，要他们帮你安装个免费的<strong>ISAPI扩展</strong>，直接就可以使用 <strong>WordPress</strong> 的永久链接，无需设置其他，详情请参考《<a target="_blank" href="http://www.phplamp.org/2008/06/wp-iis-isapi/" tip="">Wordpress在Win-iis中的完美rewrite实现方法</a>》，该扩展的下载地址在<a target="_blank" href="http://code.google.com/p/wp-url-rewriting-on-iis/downloads/list" tip="">这里</a>，这个方法理论上是最好的，但是也是要求最高的，首先需要服务器的管理权限，所以，尽量和你的空间商搞个好关系吧，安装好这个你还需要简单地修改一下 <strong>wp-includes/classes.php</strong>，详情参考<a target="_blank" href="http://www.phplamp.org/2008/06/wp-iis-isapi/" tip="">这里</a></p>
<p><span style="color: rgb(0, 128, 255); font-size: x-small;"><strong>4、lighttpd</strong></span></p>
<p><strong>lighttpd </strong>我没怎么用过，不过见到了不同版本的方法，使用<strong> lighttpd</strong> 作为服务器的童鞋可以自己参考：《<a target="_blank" href="http://wiki.guoshuang.com/Lighttpd_wordpress_Permalink_rewrite_%E5%8A%9E%E6%B3%95" tip="">Lighttpd wordpress Permalink rewrite 办法</a>》、《 <a target="_blank" href="http://www.lixuxu.cn/blog/2009/02/23/lighttpd-wordpress/" tip="">lighttpd配置WordPress伪静态（固定链接）</a>》、《<a target="_blank" href="http://www.hiadmin.com/lighttpd%E6%94%AF%E6%8C%81wordpress%E4%BC%AA%E9%9D%99%E6%80%81%E5%9C%B0%E5%9D%80/" tip="">lighttpd支持wordpress伪静态地址</a>》</p>
<p><span style="font-size: medium;"><strong>（PS：除了 lighttpd，其他的几个平台都是我亲自测试过，应该没啥鸟问题）</strong></span></p>
<h1>三、我推荐的 WordPress 永久（固定）链接形式</h1>
<p>这个问题才是今天文章的关键，我得好好说说，自动看了<a target="_blank" href="http://www.storyday.com/" tip="">东哥</a>的《<a href="http://www.storyday.com/html/y2009/2460_wordpress-permalink.html" tip="">扫盲贴:wordpress永久链接格式建议 </a>》一文，我就不得不说说我自己的看法了。</p>
<p>很多人会喜欢类似可能吧、生活点滴等永久链接形式，比如：<a href="http://www.storyday.com/html/y2009/2460_wordpress-ermalink.html" tip="http://www.storyday.com/html/y2009/2460_wordpress-permalink.html">http://www.storyday.com/html/y2009/2460_wordpress-ermalink.html</a> 、 <a href="http://www.kenengba.com/post/1298.html" tip="http://www.kenengba.com/post/1298.html">http://www.kenengba.com/post/1298.html</a> 这种形式的特征是每篇文章都有扩展名（一般都喜欢.html）但是，有一个很容易被人忽略的弊端，页面还有分类的地址最后都少一个斜杠&ldquo;/&rdquo;，比如<a href="http://www.kenengba.com/post/category/%E4%BA%92%E8%81%94%E7%BD%91%E7%BB%9C" tip="http://www.kenengba.com/post/category/%E4%BA%92%E8%81%94%E7%BD%91%E7%BB%9C">http://www.kenengba.com/post/category/%E4%BA%92%E8%81%94%E7%BD%91%E7%BB%9C</a></p>
<p><a href="http://www.storyday.com/cat/internet" tip="http://www.storyday.com/cat/internet">http://www.storyday.com/cat/internet</a></p>
<p>而且 <strong>tag</strong>、<strong>date</strong>、<strong>author </strong>等页面最后也是没有那个斜杠滴，可别小看这个斜杠，这个斜杠意味着一个目录，而没有斜杠则可能被搜索引擎认为是一个没有任何扩展名的文件而已，目录和文件，哪个权重比较大？反正在我印象中目录的权限比文件的权限大，而且目录更加美观，我一直这么觉得。</p>
<p>虽然可以认为加上个斜杠，而且不影响访问，但是这种类型的永久链接首先在搜索引擎收录上就吃了点亏，虽然以 <a target="_blank" href="http://www.storyday.com/" tip="">cosbeta</a>、<a target="_blank" href="http://blog.kenengba.com/" tip="">Jason Ng</a> 的名气，不用靠搜索引擎博客也会做大，但是我还是不推荐新手使用.html等带有扩展名的永久链接形式，除非你要使用江东开发的 <a href="http://www.storyday.com/tag/cos-html-cache" tip=""><strong>cos-html-cache</strong></a> ，一般情况下真的不推荐使用。</p>
<p>另外一个容易被大家忽略的细节就是，不用扩展名但是最后少了一个斜杠，比如 <a target="_blank" href="http://www.awflasher.com/blog/" tip="">aw</a> 的博客，看这个文章的地址：<a href="http://www.awflasher.com/blog/archives/1793" tip="http://www.awflasher.com/blog/archives/1793">http://www.awflasher.com/blog/archives/1793</a> 最后没有斜杠吧？虽然人为还是可以加一个的，但是在搜索引擎认为，这就是一个没有扩展名的文件而已，除非你有以上几位的名气，否则新人我真的不推荐使用带有扩展名的或者没有斜杠的永久链接形式。</p>
<p>那么，最好的永久链接形式是哪种呢？</p>
<p>我就推荐两种，假如你和我一样，喜欢每篇文章都加个 <strong>slug</strong>（就是传说中的<strong> postname</strong>），那么我推荐你使用 <strong>/%postname%/</strong></p>
<p>假如你很懒，那么我直接推荐你用<strong> /archives/%post_id%/</strong> 这样的，<strong>archives</strong>没有任何意义，可以自己修改成<strong>post</strong>或者<strong>留空</strong>都行</p>
<p>修改永久链接方法：<strong>后台 &gt; 设置 &gt; 永久（固定）链接</strong></p>
<p>至于为什么搜索引擎里目录的权重比文件的权重要高，请参考这几篇文章：</p>
<p>《<a target="_blank" href="http://www.seoask.net/html/20094q117.html" tip="">为什么目录/aa/比aa.htm权重高</a>》</p>
<p>《<a target="_blank" href="http://www.noseo.org.cn/erjimuluyuerjiyuming.html" tip="">二级目录与二级域名的SEO优化</a>》</p>
<p>（<strong>PS：</strong>因为本人很久大概一年没做过系统的<strong><a rel="tag" class="st_tag internal_tag" href="http://showfom.com/tags/seo/" tip="Posts tagged with SEO">SEO</a></strong>，所以只是以自己的经验和个人爱好来谈这个问题，请勿盲目跟从）</p>
<p>（<strong>再次PS：</strong>我发现自己越来越啰嗦，<strong>WordPress</strong> 永久链接我能讲上个三天三夜，囧&hellip;&hellip;收手赶紧）</p>]]></description>
			<link>http://blog.is36.com/wordpress_rewrite_rule_for_nginx/</link>
			<category domain="http://blog.is36.com/category/I_love_zjsru/">我爱树人</category>
			<pubDate>2009-08-11 02:21</pubDate>
		</item>
	</channel>
</rss>

