WordPress设置固定链接(伪静态)的方法

首先说明一下什么是固定链接:

固定链接是你个人博客里的文章、分类以及其他页面的固定链接地址。通过固定链接,别的博友可以链到你写的博客,你也可以将这个链接地址写在邮件里发给其他人看。如果博客的链接地址变来变去,会造成其他人通过之前的链接地址来浏览博客时出错,所以每篇博客的链接地址都应该固定,而且永久不改———这也是固定链接名字的由来。

这是WordPress官方文档中对固定链接的说明,WordPress 允许更改默认的链接形式,以此提高 URL 的可读性和对搜索引擎的友好程度。

默认的链接如下(官方文档叫它”Ugly”)

http://example.com/?p=N

N文章ID,一串数字。默认链接在所有的环境下都能正常使用,但和其他的类型比起来没那么好看,无任何”可读性“可言。

为了使用”Pretty Permalinks”,需要使用mod_rewrite。Godaddy的Linux主机空间上需要使用.htaccess文件来重写mod_rewrite。

具体代码如下:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

而Wordpress可以使用的结构标签有下面几种

%year%
文章发表的年份,四位数,如 2004 

%monthnum%
月份,如 05 

%day%
天,如 28 

%hour%
小时,如 15 

%minute%
分钟,如 43 

%second%
秒,如 33 

%postname%
文章标题的别名 (编辑文章/页面时的别名栏)。对于文章标题为 “This Is A Great Post!” 的%postname%是this-is-a-great-post

%post_id%
文章的唯一ID,如 423 

%category%
分类的别名 (新建/编辑分类时的别名栏)。 有层级关系的类型在链接地址里就像有层级的目录。 出于性能原因,强烈不建议使用%category%作为链接地址的开头。 

%tag%
标签的别名(新建/编辑标签时的别名栏)。 出于性能原因,强烈不建议使用%tag%作为链接地址的开头。 

%author%
作者的别名。

我的设置如下:

wordpressPermalinks

update:2012-08-26

另外如果是独立主机或者vps安装好apache,并在vhost.conf中启用了

<br /> RewriteEngine On<br /> RewriteOptions Inherit<br />

在设置了固定链接(rewrite)后,发现页面打不开,返回404。检查后发现.htaccess已自动生成。

最后的解决办法: Fedora/Centos等系统的解决办法为修改httpd.conf文件,找到:

AllowOverride None ——> 把这里的None改成All 重启apache就Ok了!

此文参考了WordPress官方文档,链接为:http://codex.wordpress.org/Using_Permalinks