【亲测】Win主机IIS下配置WordPress伪静态【成功】

在Linux等非Windows环境里,要配置WordPress的伪静态是很简单的,方法不再赘述了,但windows主机的IIS下,想用WordPress的伪静态就比较麻烦,有哥们说用404定义,个人不太喜欢,但配置简单,只要能自定义404页面就差不多了!这里要说的是利用放置于根目录的httpd.ini来实现WP的伪静态

配置httpd.ini可以实现链接伪静态,但它不完美,主要在分类翻页失效和wap(需要装wap插件)无法静态上;原动态链接依然存在,即xxx.com/1.html(定义伪静态后的)和xxx.com/?p=1两个地址共存,造成收录重复。好了,不啰嗦了,方法如下:

首先得保证主机已经加载Rewrite组件,然后将下列代码保存为httpd.ini文件,上传到网站根目录即可!

代码如下:

[ISAPI_Rewrite] RewriteRule /post/tag/(.*) /index\.php\?tag=$1 RewriteRule /tag/(.*) /index\.php\?tag=$1 RewriteRule /(about|link|tags|sitemap) /index\.php\?pagename=$1 RewriteRule /post/category/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed\.php\?category_name=$1&feed=$2 RewriteRule /post/category/?(.*) /index\.php\?category_name=$1 RewriteRule /author/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed\.php\?author_name=$1&feed=$2 RewriteRule /author/?(.*) /index\.php\?author_name=$1 RewriteRule /feed /index\.php/\?feed=rss2 RewriteRule /rss.xml /index\.php/\?feed=rss2 RewriteRule /comments/feed /index\.php/\?feed=comments-rss2 RewriteRule /([0-9]+)/?([0-9]+)?/?$ /index\.php\?p=$1&page=$2 RewriteRule /post/([0-9]+)/?([0-9]+)?/?$ /index\.php\?p=$1&page=$2 RewriteRule /post/([0-9]+).html /index\.php\?p=$1 [I] RewriteRule /page/(.*)/?s=(.*) /index\.php\?s=$2&paged=$1 RewriteRule /page/(.*) /index\.php\?paged=$1 RewriteRule /post/date/([0-9]{4})([0-9]{1,2})([0-9]{1,2})/([^/]+)/?([0-9]+)?/?$ /index\.php\?year=$1&monthnum=$2&day=$3&name=$4&page=$5 RewriteRule /post/date/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /index\.php\?year=$1&monthnum=$2&day=$3&page=$4 RewriteRule /post/date/([0-9]{4})/([0-9]{1,2})/?$ /index\.php\?year=$1&monthnum=$2&page=$3 RewriteRule /post/([0-9]+).html/(feed|rdf|rss|rss2|atom) /index\.php\?feed=rss2&p=$1 RewriteRule /post/([0-9]+).html/trackback /wp-trackback\.php\?p=$1 # For file-based wordpress content (i.e. theme), admin, etc. RewriteRule /wp-(.*) /wp-$1 [L]

说明:止述伪静态规则实现的静态地址效果是:http://yangjunwei.com/post/4.html

规则中第四行是针对单页面的伪静态

RewriteRule /(about|link|tags|sitemap) /index\.php\?pagename=$1

例如博客上面有“关于”,别名记得改成about,或你想要使用的,同时规则中也记得和别名一致。

WordPress后台固定链接选择自定义为:/post/%post_id%.html

稍后无聊的时候,会发布一些亲测后成功的伪静态规则!

参与评论

  • admin1

    留个联系方式给我呗
    有事情请教哦

    5年前 (2018-08-27)
    回复
    回复admin1
  • 老杨

    兄弟,页脚的关于里有联系方式

    5年前 (2018-09-04)
    回复
    回复老杨
  • admin1

    大佬 怎么联系到你 ?急

    5年前 (2018-08-27)
    回复
    回复admin1
  • 阿笨猫

    您好,咨询一个问题可以吗,我的博客改版,转用wordpress程序,在设置伪静态时出现了点问题,域名/author/haibor/page/2 地址打开显示404,请问怎么回事?

    8年前 (2016-01-09)
    回复
    回复阿笨猫
  • 李君南

    分享不错,感谢楼主推荐。

    8年前 (2015-01-22)
    回复
    回复李君南
  • 杨俊伟

    有用就行!

    8年前 (2015-01-22)
    回复
    回复杨俊伟
  • 聆界

    额。。还发现我的网站自定义的404没用了,变成的默认的了

    12年前 (2011-10-17)
    回复
    回复聆界
  • 聆界

    首先感谢你。帮我实现了伪静态,但是出现的网址.com/post/category/XXX,多了一个/category, 我用插件后 /category没了 但是网站除了首页其他全变成了404页面。

    12年前 (2011-10-17)
    回复
    回复聆界
  • 愚人笔记

    你好~我的网站,使用了这套规则发现无法翻页,如:http://www.foolcode.com/page/2就会出现404页面,但是http://www.foolcode.com/page/2.html就可以正常打开,请教高人我应该如何修改,关注中。

    12年前 (2011-07-07)
    回复
    回复愚人笔记
  • haibor

    你在上述规则的最后加上下面这两句规则

    RewriteRule ^/$ /index.php [L]
    RewriteRule /(.*) /index.php/$1 [L]

    12年前 (2011-07-08)
    回复
    回复haibor
  • 愚人笔记

    报告博主还是不行

    12年前 (2011-07-08)
    回复
    回复愚人笔记
  • haibor

    这个。。。这个。。。

    12年前 (2011-07-09)
    回复
    回复haibor
  • 钟天耀

    谢谢博主
    我试了
    非常不错

    12年前 (2011-05-27)
    回复
    回复钟天耀
  • nuodou

    用上就中!

    12年前 (2011-05-27)
    回复
    回复nuodou
  • 山头人

    发现在要做的事太多了,我的个人服务器还没装好呢。

    13年前 (2010-10-08)
    回复
    回复山头人