现在的位置: 首页wordpress>正文
win主机实现wordpress页面的伪静态
2012年07月11日 wordpress 评论数 3

我的主机是win主机,实现伪静态还是有些麻烦的,我刚申请网站时主机商给我配了一个httpd.ini文件,文章页面的伪静态是实现了,但根目录下的静态文件却是无论如何都打不开,就是说http:www.tanyubin.com/xxxx/xxxx.html是可以打开的,而http:www.tanyubin.com/xxxx.html打不开,也真够郁闷的,这个问题折腾了我一天时间,不过幸好还是解决了。其实网上搜索的httpd.ini文件大致不错,也能实现伪静态,但好像都忽略了一个重要性问题。签于本人自己解决这个问题的艰难,因为我没有专业学习过,是自己在网上东凑西凑学习建立网站的,觉得还是有必要为后来的兄弟们解决这个问题,不要走太多的弯路。

了解httpd.ini文件

httpd.ini是指wordpress程序在windows虚拟主机上的伪静态设置。windows主机服务器的网站以搭建在虚拟主机上,当我们用习惯了apache下的.htaccess的时候,很难想象windows主机上怎么实现它的强大功能。实际上windows主机服务器上的虚拟主机可以用httpd.ini文件来充当.htaccess文件在Linux主机空间的作用,不过要令你失望的是,httpd.ini的功能完全没有.htaccess那么强大,规则上没有那么丰富,细节上也有很大的不同。要在你的空间使用httpd.ini首先得确定你的空间是否支持该功能,这个可以询问服务商,如果是企业用户,可以要求服务商为你配置。具体了解请到百度百科http://baike.baidu.com/view/6506676.htm

如何设置

1、在你的wordpress后台设置>固定链接>自定义,格式一般为/%category%/%postname%.html或者/%postname%.html,我的设置是/%category%/%postname%.html。

2、设置后你会发现文章打不开了,只能打开首页,没关系,这时你只要建立一个httpd.ini文件即可。

3、新建一个记事本,内容如下,另存为文件名httpd.ini文件。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

# For tag(中文标签以及标签翻页的规则)

RewriteRule /tag/(.*)/page/(\d+)$ /index\.php\?tag=$1&paged=$2

RewriteRule /tag/(.+)$ /index\.php\?tag=$1

# For category(中文分类以及分类翻页的规则)

RewriteRule /category/(.*)/page/(\d+)$ /index\.php\?category_name=$1&paged=$2

RewriteRule /category/(.*) /index\.php\?category_name=$1

# 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]

RewriteRule /sitemap_baidu.xml /sitemap_baidu.xml [L]

RewriteRule /sitemap.html /sitemap.html [L]

RewriteRule /archivers/(.*) /archivers/$1 [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]

上面的代码规则基本上是能实现静态化的大部分功能,比如加上

# For tag(中文标签以及标签翻页的规则)

RewriteRule /tag/(.*)/page/(\d+)$ /index\.php\?tag=$1&paged=$2

RewriteRule /tag/(.+)$ /index\.php\?tag=$1

你可以实现打开标签,否则你其他目录,都可以打开,但打开标签时会提示你找不到页面,而

RewriteRule /sitemap.xml /sitemap.xml [L]

RewriteRule /favicon.ico /favicon.ico [L]

RewriteRule /sitemap_baidu.xml /sitemap_baidu.xml [L]

RewriteRule /sitemap.html /sitemap.html [L]

这几个是打开根目录下的sitemap.xml ,favicon.icositemap_baidu.xml ,sitemap.html 文件,如果你根目录其它文件打不开,那么就要在上述代码后增加相应的文件名。

注意:在建立httpd.ini文件时,你增加根目录下的静态文件时,一定要另存为ANSI格式。否则你增加后上传至你的网站根目录,增加的静态文件还是会打不开。

如果你还要增加其他规则,增加在上述代码的相应地方就行了。

4、将你的httpd.ini文件上传至你的根目录,看看是不是已经OK了?

如果不行,询问服务商主机装有Rewrite 组件,否则不会起效果。不过,一般都会装的。

另外这个还可以解决google xml sitemap插件的sitemap文件不可写入,提示找不到文件的问题,具体请看这篇

http://www.tanyubin.com/tlxl/wordpress/google-xml-sitemap-plug.html


分享到:



目前有 3 条留言 其中:访客:3 条, 博主:0 条

  1. 鱼小委 : 2013年01月16日10:45:33  -49楼 @回复 回复

    博主你好,你说的http:www.tanyubin.com/xxxx.html打不开 这个问题在你给出的httpd.ini中具体哪个规则解决了这个问题呢?

  2. 蔡大忠博客 : 2013年02月19日16:35:12  -48楼 @回复 回复

    好样的,我刚好遇到真个问题,现在解决了,中心祝福你蛇年大吉!!

  3. 淘宝seo优化 : 2013年05月10日16:19:37  -47楼 @回复 回复

    用上了,谢谢分享,网上找了N多 没有结果

    刚开始这个规则用上 中文标签也是无效的。

    好像是我的固定连接直接用域名+文章id.html

    完美解决···

    另外问下,博主做友链吗···

给我留言

留言无头像?