<?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; permalinks</title>
	<atom:link href="http://blog.anyshpm.com/tag/permalinks/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.anyshpm.com</link>
	<description>S &#38; H / M</description>
	<lastBuildDate>Wed, 21 Dec 2011 14:14:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://blog.anyshpm.com/?pushpress=hub'/>
		<item>
		<title>修复因改变wordpress固定链接而导致的404错误</title>
		<link>http://blog.anyshpm.com/2010/02/09/change-wordpress-permalinks-404-error.html</link>
		<comments>http://blog.anyshpm.com/2010/02/09/change-wordpress-permalinks-404-error.html#comments</comments>
		<pubDate>Tue, 09 Feb 2010 13:17:22 +0000</pubDate>
		<dc:creator>anyshpm</dc:creator>
				<category><![CDATA[旅程]]></category>
		<category><![CDATA[301]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[permalinks]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[固定链接]]></category>

		<guid isPermaLink="false">http://blog.anyshpm.com/?p=727</guid>
		<description><![CDATA[前两天把我博客的固定链接从 http://blog.anyshpm.com/archives/%postid% 改成了 http://blog.anyshpm.com/%year%/%monthnum%/%day%/%postname%.html 结果原来的链接地址全变成了404，真悲剧，得想办法解决。 本来想着wordpress应该兼容各种固定链接的形式，没想到不行，也有可能是主题的问题。我没那个功夫去看代码，就想到用apache的rewrite。 可惜我对.htaccess文件的语法基本一无所知，正则表达式也是一样不懂，貌似也没人遇到过这种问题。 于是乎，我看了资料无数，试了不下百次，终于憋出几条语句 RewriteCond %{HTTP_HOST} ^blog.anyshpm.com [NC] RewriteRule archives/date/(.*) http://blog.anyshpm.com/$1 [L,R=301] RewriteRule archives/tag/(.*) http://blog.anyshpm.com/tag/$1 [L,R=301] RewriteRule archives/(.*) http://blog.anyshpm.com/?p=$1 [L,R=301] 加上原先的几条，最终写成这样 # BEGIN WordPress &#60;IfModule mod_rewrite.c&#62; RewriteCond %{HTTP_HOST} ^blog.anyshpm.com [NC] RewriteRule archives/date/(.*) http://blog.anyshpm.com/$1 [L,R=301] RewriteRule archives/tag/(.*) http://blog.anyshpm.com/tag/$1 [L,R=301] RewriteRule archives/(.*) http://blog.anyshpm.com/?p=$1 [L,R=301] RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule [...]]]></description>
			<content:encoded><![CDATA[<p>前两天把我博客的固定链接从<br />
<code>http://blog.anyshpm.com/archives/%postid%</code><br />
改成了<br />
<code>http://blog.anyshpm.com/%year%/%monthnum%/%day%/%postname%.html</code><br />
结果原来的链接地址全变成了404，真悲剧，得想办法解决。</p>
<p>本来想着wordpress应该兼容各种固定链接的形式，没想到不行，也有可能是主题的问题。我没那个功夫去看代码，就想到用apache的rewrite。</p>
<p>可惜我对.htaccess文件的语法基本一无所知，正则表达式也是一样不懂，貌似也没人遇到过这种问题。</p>
<p>于是乎，我看了资料无数，试了不下百次，终于憋出几条语句<br />
<code>RewriteCond %{HTTP_HOST} ^blog.anyshpm.com [NC]<br />
RewriteRule archives/date/(.*) http://blog.anyshpm.com/$1 [L,R=301]<br />
RewriteRule archives/tag/(.*) http://blog.anyshpm.com/tag/$1 [L,R=301]<br />
RewriteRule archives/(.*) http://blog.anyshpm.com/?p=$1 [L,R=301]</code></p>
<p>加上原先的几条，最终写成这样<br />
<code># BEGIN WordPress<br />
&lt;IfModule mod_rewrite.c&gt;<br />
RewriteCond %{HTTP_HOST} ^blog.anyshpm.com [NC]<br />
RewriteRule archives/date/(.*) http://blog.anyshpm.com/$1 [L,R=301]<br />
RewriteRule archives/tag/(.*) http://blog.anyshpm.com/tag/$1 [L,R=301]<br />
RewriteRule archives/(.*) http://blog.anyshpm.com/?p=$1 [L,R=301]<br />
RewriteBase /<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
&lt;/IfModule&gt;<br />
# END WordPress<br />
</code></p>
<p>问题就解决了。里面用了301跳转，把原来的<br />
<code>http://blog.anyshpm.com/archives/%postid%</code><br />
转到<br />
<code>http://blog.anyshpm.com/?p=%postid%</code><br />
然后wordpress会在跳转一次，变成默认的固定链接形式。<br />
archives/date/和archives/tag/也一样做相应的处理。</p>
<h3  class="related_post_title">相关文章:</h3><ul class="related_post"><li><a href="http://blog.anyshpm.com/2010/02/05/change-twitter-tools-gear-to-twitter-api-proxy.html" title="让Twitter tools用上Twitter API proxy">让Twitter tools用上Twitter API proxy</a> (1)</li><li><a href="http://blog.anyshpm.com/2009/08/08/%e5%bc%80%e5%a7%8b%e4%bd%bf%e7%94%a8%e8%87%aa%e5%b7%b1%e7%bf%bb%e8%af%91%e7%9a%84%e4%b8%bb%e9%a2%98.html" title="开始使用自己翻译的主题">开始使用自己翻译的主题</a> (0)</li><li><a href="http://blog.anyshpm.com/2009/01/28/anynote.html" title="anyNote">anyNote</a> (0)</li><li><a href="http://blog.anyshpm.com/2008/08/31/audio-player.html" title="audio player">audio player</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.anyshpm.com/2010/02/09/change-wordpress-permalinks-404-error.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

