猫头帮常任理事会

真正有用的win主机伪静态规则

时间: 2011-07-04 ⁄ 分类: 完美教程 ⁄ 浏览: 41,832 次
网上看到很多地方都介绍了win主机如何实现伪静态,方法很多,本猫也用过很多,但大多数是无效的。现在就介绍给大家一种方法,并且绝对有效,不会再看得眼花缭乱了

1.新建一个记事本文件,将以下代码粘贴进去。

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# wordpress 伪静态规则
# 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
# For sitemapxml
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]

2.选择另存为并在保存类型中选择所有格式,文件名为httpd后缀为ini

null

3.将httpd.ini上传至服务器根目录

4.在固定连接中修改你想要的网址格式吧

下面提供几个结构模板,供大家参考

%year%:日志发表的年份,四位数字,如2009
%monthnum%:日志发表的月份,如05
%day%:日志发表的日期,如28
%hour%:日志发表的时间(小时),如15
%minute%:日志发表的时间(分钟),如43
%second%:日志发表的时间(秒),如33
%postname%:日志标题的缩略版本(日志/页面编辑界面上的日志别名)。因此“This Is A Great Post!”在URI中会变成this-is-a-great-post。
%post_id%:日志的唯一ID,如423
%category%:分类名称的缩略版本(添加新分类/编辑界面上的分类别名)。嵌套的子分类会作为嵌套子目录出现在URI中。出于运行方面的考虑,不推荐以%category%作为固定链接的起始部分。
%tag%:标签名称的缩略版本(添加新标签/编辑界面上的标签别名)。出于运行方面的考虑,不推荐以%tag%作为固定链接的起始部分。
%author%:作者名称的缩略版本。
这个方法到底有效吗?你看本站就知道了,本站目前用的就是win主机……
最后附上本站的伪静态规则是/%postname%.html
最后啰嗦的补充下:有些博主会申请谷歌广告或者用到robots.txt,那么你就需要手动加上以下代码
RewriteRule /xxx.html /xxx.html [L] 或 RewriteRule /xxx.txt /xxx.txt [L]
其中的xxx就表示需要用到的文件名
比如http://maolihui.com/robots.txt如果我没写上面的规则的话,将会返回到悲剧的404页面。
2012.12.11更新:如果你实在不会,就下载这个已经写好的httpd.ini吧,解压并放置于服务器根目录即可使用
2012.12.16更新:如果你用的是vps的win主机,那么还需要在主机目录里找到httpd.conf这个文件,同样把伪静态规则粘贴进去即可
分享到:
关键词:
PREVIOUS:
NEXT:

53 则回应给 “真正有用的win主机伪静态规则”

  1. wt 说道:

    博主好  主要的问题是我的博客不像你的这样直接放在服务器根目录,我的是在/www/blog里,担心上传httpd.ini后作用于服务器根目录……那样是木有用滴……

    • 猫理会会长 说道:

      这个其实很简单,你把httpd.ini都放一次就知道了~反正就几kb的体积。 ;-)
      然后提醒你一下,如果你以后要申请谷歌广告的话,会让你在根目录里放置adsense.txt。这个时候你就需要在httpd.ini中再添加一句
      RewriteRule /adsense.txt /adsense.txt [L]
      这样谷歌就可以验证到了。

  2. wt 说道:

    呃 还有个问题 我想整成本博客的那种格式,就是直接跟上postname,httpd.ini用不用改? :twisted:

  3. flamen 说道:

    请问你是什么版本的wp?

    wp
    3.2.1 使用此方法没有成功。求帮助!

  4. 吾爱军鹏`s 说道:

    前来围观,嘿嘿 记得回踩!~~~~  吾爱军鹏`s 
    http://www.521jp.tk     

  5. kongbai 说道:

    这博客主题不错! 自己做的吗?能否分享一下

  6. 蛋疼的淫 说道:

    修改后,源文件就打不开,怎么指向文章页呢?

  7. 强哥 说道:

    是不是只要支持urlrewrite就行了?这个文件必须放在根目录吗?我的主机支持ISAPI,然后/others/discuz/Rewrite.dll,有这么个东东,在others里面有个httpd.conf 文件 :cry:

  8. 暗白 说道:

    这段代码可用,也按照这段代码实现了想要的链接了。

    我用的是WIN03系统的VPS,但是后来发现使用这段代码之后 CPU一直被占用100%,取消掉CPU又又正常了,在网上查了一下 有可能是出现死循环了。但是具体又不知道怎么解决,很郁闷。

  9. 南宁租车 说道:

    我的还是不得 每个目录都传了 还是404 动态的就行 :cry:

  10. destiny 说道:

    我找了个不用的网站设置了一下,不过依然是404啊,我步骤按着操作的,win2003 vps

  11. /%category%/%post_id%.html 我想要实现这样的功能不行。如果只是/%post_id%.html就没有问题。
    可以帮忙看看问题在哪里?或者如何编写httpd.ini :lol:

    • 猫理会会长 说道:

      在httpd.ini里先加入这个试试
      # For category(中文分类以及分类翻页的规则)
      RewriteRule /category/(.*)/page/(\d+)$ /index\.php\?category_name=$1&paged=$2
      RewriteRule /category/(.*) /index\.php\?category_name=$1

  12. 雪帝 说道:

    我的网站按照你的方法设置了!但打开内页还是404页面,不知道是怎么回事儿!请会长帮忙看看吧!我的qq:634161405 :!:

  13. an1 说道:

    你好啊,本地全部安装你说的,依然不行。

  14. 武方博 说道:

    博主 我想请问你一下伪静态的设置方法 我的为什么老是不起作用啊 我vps都折腾两天了也不行  能加下你的QQ吗 我的是4538305

  15. 鸣谦 说道:

    博主 htacess等文件用在 For sitemapxml 这后面写 还有 您那个最新的httpd.ini没有For sitemapxml这个标题

  16. 周后南 说道:

    我试了还是没用呀。。

  17. 平板盒子 说道:

    博主你能搞定DX论坛的子目录的伪静态规则么?

  18. jackjones 说道:

    我的也是这个问题,

  19. jackjones 说道:

    我的网站http://www.gxg4.com也是这个问题,调不出淘宝客程序

  20. 成海SEM 说道:

    博主,我照着你的来做了。httpd.ini是直接下载的你的,然后上传到vps上了 总共两个盘 我在c盘里面放了 d盘里面也放了 然后再自己博客的根目录中也放了。固定连接的格式是/%category%/%post_id%
    但是设置了之后除了首页可以打开 文章页 栏目页打开的全是404.请问下是什么原因呢?

发表评论