WordPress实现伪静态利于搜索引擎收录,但有不少新人朋友还是始终无法成功设置WordPress伪静态。
WordPress已经给出了几种URL伪静态形式,但都不很理想,我们希望的URL形式为: 域名/分类别名/文章ID.html
那就择自定义结构选项,填写:
/%category%/%post_id%.html
如果你对这种形式不满意,可以自定义任意形式,只要合理搭配参数即可,可以使用的参数如下:
%year%:文章发表的年份,四位数字,如2012
%monthnum%:文章发表的月份,如08
%day%:文章发表的日期,如28
%hour%:文章发表的时间(小时),如15
%minute%:文章发表的时间(分钟),如18
%second%:文章发表的时间(秒),如28
%postname%:文章别名,在发表文章时可以设置。
%post_id%:文章的ID,如68
%category%:分类别名,在添加分类时可以设置。
%tag%:标签的别名,在添加标签时可以设置。
设置好后,有的Linux主机允许程序自动创建.htaccess文件,但有的Linux主机不支持,此时,就需要我们手工上传.htaccess文件。将以下代码复制到记事本,保存为.htaccess。
BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
END WordPress
可能你会发现,电脑不允许保存文件时文件名为空,那么随便起一个名称,用FTP工具上传到你的网站根目录后重命名,将名称去掉即可。
此时,细心的你可能会发现分类页的URL里有一个category,你可以使用WP No Category Base插件来解决。
Windows主机WordPress伪静态设置方法
复制以下代码到记事本:
[ISAPI_Rewrite]
3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
Protect httpd.ini and httpd.parse.errors files
from accessing through HTTP
Rules to ensure that normal content gets through
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
保存为httpd.ini,将这个文件上传到你的WordPress安装目录,然后设置固定链接,方法同Linux主机WordPress伪静态设置方法中的固定链接设置方法。
在Windows主机下设置WordPress伪静态有时会遇到这样那样的问题,所以,使用WordPress搭建网站最好选用阿里云主机。