网上看到很多地方都介绍了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
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这个文件,同样把伪静态规则粘贴进去即可
博主好 主要的问题是我的博客不像你的这样直接放在服务器根目录,我的是在/www/blog里,担心上传httpd.ini后作用于服务器根目录……那样是木有用滴……
这个其实很简单,你把httpd.ini都放一次就知道了~反正就几kb的体积。 😉
然后提醒你一下,如果你以后要申请谷歌广告的话,会让你在根目录里放置adsense.txt。这个时候你就需要在httpd.ini中再添加一句
RewriteRule /adsense.txt /adsense.txt [L]
这样谷歌就可以验证到了。
呃 还有个问题 我想整成本博客的那种格式,就是直接跟上postname,httpd.ini用不用改? 😈
不用改,我这篇文章里的httpd.ini已经写好这样的格式了~你只要直接在固定链接里输入/%postname%.html就可以了。你看我的网址格式,就是这样的。
好~ 谢谢会长 😛
请问你是什么版本的wp?
wp
3.2.1 使用此方法没有成功。求帮助!
这个和wp的版本无关的,你把httpd.ini放到主机根目录了不?
每个目录都试过了,都不行,我用的是isapi_rwl_x86_0078,与这个有关系吗?
我想起来了,有些win主机不支持伪静态的。。。你先问问客服试试。
我用的vps。 支持伪静态啊
那么这个问题就奇怪了。。。win主机用这个都可以成功的。。。因为伪静态的规则就是这样写的。你的博客网址是什么?我去看看。
最后你看看自定义结构是否书写正确,因为你说的“使用此法不成功”并没详细说到细节。
http://www.flamen.net
博主qq多少
我刚看了你的站,大概是和isapi_rwl_x86_0078有关。。。而isapi_rwl_x86_0078我也没用过。。所以解决不了。。。 ➡
前来围观,嘿嘿 记得回踩!~~~~ 吾爱军鹏`s
http://www.521jp.tk
好的,你的站做得不错~
这博客主题不错! 自己做的吗?能否分享一下
不是,是wopus上下载的,地址http://themes.wopus.org/wpthemes/english-lanuage/1126.html
修改后,源文件就打不开,怎么指向文章页呢?
指向原文章的代码就是中文标签以及标签翻页的规则和中文分类以及分类翻页的规则。文件打不开你看下是不是固定链接的格式有误。
是不是只要支持urlrewrite就行了?这个文件必须放在根目录吗?我的主机支持ISAPI,然后/others/discuz/Rewrite.dll,有这么个东东,在others里面有个httpd.conf 文件 😥
这个httpd.ini只能放根目录才有效。按照我写的文章上的1,2,3,4步骤。是可以成功的 😎
这段代码可用,也按照这段代码实现了想要的链接了。
我用的是WIN03系统的VPS,但是后来发现使用这段代码之后 CPU一直被占用100%,取消掉CPU又又正常了,在网上查了一下 有可能是出现死循环了。但是具体又不知道怎么解决,很郁闷。
这个就不清楚了。。。
我的还是不得 每个目录都传了 还是404 动态的就行 😥
其实就这2个步骤:1。上传至根目录2。固定链接设置正确
实在不行,你要问下客服,你的win主机是否支持伪静态。因为有些主机商的win主机不支持伪静态。
我找了个不用的网站设置了一下,不过依然是404啊,我步骤按着操作的,win2003 vps
你的主机是否支持伪静态?
感恩了,确实有用啊,我重新配置了一下伪静态,成功了!呵呵! 😈