1. 六山笔记首页
  2. 经验分享

WordPress在Windows2003+IIS6上实现伪静态

   我们必须先要明白为什么我们需要使用伪静态?

这个主要是从SEO的角度取考虑的。从多次实践中证明,搜索引擎蜘蛛比较青睐于静态页面(相对另外一种是动态页面)的静态URL,而静态页面又分为真静态和伪静态。真静态是服务器端真正存在一个静态页面,但静态页面具有更新困难、存储量大等缺点未必受人欢迎。于是,人们往往采用伪静态的方法用于网站以更好地获得好的搜索引擎排名。

在Nginx下进行伪静态是相当容易十分简单的事情,可是使用了IIS6就不是那么回事了,网上找了些IIS下Wordpress进行伪静态的方法,但大都不理想,比如利用404,利用ISAPI_ReWrite进行伪静态,总会有这样那样的问题。

就在我四处犯愁的时候,无意中在一个博客中看到了WordPress URL Rewrite这个组件,原先只以为别人把ISAPI_Rewrite换了个名字而已,因为确实看到了好多此类的组件,功能都大同小异。然而亲自到了作者的网站一看才发现这是一个非常棒的Wordpress URL 重写组件。

该组件的主要功能与特色有:

完全无需人工干预,全自动重写URL,只需要在后台设置好Permalinks形式,就能直接使用,就像linux下用.htaccess一样哈哈,谁说我们windows主机不支持全自动伪静态的,人家照样做给你看。
因为全自动,所以免去了在写重写规则时候遇到的规则重复造成部分目录和文件无法实现的情况,这个问题我一直碰到,简直就要疯了。。
可以使用在一级目录和子目录,也可以排除不需要重写的目录。这个非常方便,对于某些目录不需要URL重写的就将其排除,不会造成无法访问。

安装方法:把压缩包解压到任何地方,只要保持WordPressURLRewrite.ini和WordPressURLRewrite32.dll(32位版本,64位版本对应为64.dll)在同一文件夹下就可以了。

然后打开WordPressURLRewrite.ini设置你的博客目录,以及需要排除的目录,这里就不详细说了,Readme.txt里有详细说明。

然后在IIS中选择相应的站点,在ISAPI筛选器中加载WordPressURLRewrite32/64.dll就可以了,加载完不用重启IIS直接生效。(注意要给dll所在的目录加上IIS_WPG组的权限)

然后在Wordpress中测试一下,应该就已经成功了~

可以在以下发布页下载

发布页:http://www.binaryfortress.com/wordpress-url-rewrite

这个组件最重要的特色就是全自动,省去了一系列的规则问题,不过这个需要你的空间商给你安装,如果他们死活不肯,那你只能放弃了。

这样一来,就完全可以抛弃了ISAPI_Rewrite了,并不是说ISAPI_Rewrite不好,因为对于很多非专业人士来说,毕竟是开个博客,需要花那么多功夫去研究正则表达式,也未免太伤精力了。

上个星期装的时候还是0.1版,今天看到20号更新成了1.0版。。。这变化也太大了,可能作者认为成熟了该发布了吧。

存在的问题:

无法重写以.html结尾的URL,只能以目录形式组成,这个问题我已经在官方论坛提出,希望作者能尽快解决这个问题。
对于中文的tag无法访问,仍然需要使用ISAPI_Rewrite来写一条规则: RewriteRule /tag/(.*) /index\.php\?tag=$1因为这2个ISAPI筛选器并不冲突,所以可以2个同时加载。

原创文章,作者:admin,如若转载,请注明出处:https://www.nx6.net/10