随身笔记
随身笔记

使用WordPress URL Rewrite解决搜索分页问题及不在使用404页面实现伪静态

主要决解两个问题,
第一个问题:在WIN2003的IIS实现完美伪静态页面,这里的完美是可以不靠404实现伪静态页面。
第二个问题:大部分人可以实现伪静态页面但都是靠404实现的这里会有一个现象,在搜索关键字的时候出现搜索结果分页时,第一页可以正常显示但是点击第二页的时候就不在关键字的搜索范围内翻页而是跳到了首页主站的第二页,第一个问题解决同时也就解决了第二个问题。
这里要提的是在apache上完全避免了以上的问题出现,这里我们是为了在IIS发布wordpress出现问题的站长提供决解方法的。

在网上除了404方法,还有一个就是使用ISAPI_Rewrite,可惜ISAPI_Rewrite的规则好像较少:
[code]第一个:/%year%/%monthnum%/%day%/%postname%/

第二种:/post/%post_id%.html

第三种:/%year%/%monthnum%/%day%/%postname%.html[/code]

本人博客是用/%postname%/的固定链接方式的,网站已经被百度及各大搜索引擎收录了,不太可能重新修改所以只能用WordPress URL Rewrite方法来解决。

实现步骤:
1,删除404
删除根目录的404.php,点击文章已经找不到网页了。

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

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

然后在IIS中选择相应的站点,在ISAPI筛选器中加载WordPressURLRewrite32.dll就可以了,加载完不用重启IIS,可以停掉网站再启动。

注意:要给dll所在的目录加上IIS_WPG组的完全控制权限,我试过的结果是不加就无法加载dll.这2个ISAPI筛选器并不冲突,可以同时加载,所以接下来要安装ISAPI_Rewrite。

3,安装ISAPI_Rewrite
规则写在httpd.ini:

[code][ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule /tag/[^/]+)/([^/]+)/?([0-9]+)?/ /index.php?tag=$1&paged=$3 [L][/code]

4,修改WP-include中的class-wp.php
这里修改PHP文件的时候千万别用记事本打开修改不然会出错,这里我是用Dreamweaver,
把以下代码:
[code]if ( isset($_SERVER[‘PATH_INFO’]) )
$pathinfo = $_SERVER[‘PATH_INFO’];
else
$pathinfo = ”;
$pathinfo_array = explode(‘?’, $pathinfo);
$pathinfo = str_replace(“%”, “%25″, $pathinfo_array[0]);
$req_uri = $_SERVER[‘REQUEST_URI’];[/code]
修改为:
[code]if ( isset($_SERVER[‘PATH_INFO’]) )
$pathinfo = mb_convert_encoding($_SERVER[‘PATH_INFO’], ‘utf-8′, ‘GBK’);
else
$pathinfo = ”;
$pathinfo_array = explode(‘?’, $pathinfo);
$pathinfo = str_replace(“%”, “%25″, $pathinfo_array[0]);
$req_uri = mb_convert_encoding($_SERVER[‘REQUEST_URI’], ‘utf-8′, ‘GBK’);[/code]
修改后保存。
按照步骤来一般情况都不会出错,但是本人用的是西部数码空间仅仅在ISAPI筛选器中加载WordPressURLRewrite32.dll还是不够的,还要加载西部数码默认提供的Rewrite.dll路径为/others/discuz/Rewrite.dll,这里要提醒在西部数码不能同时加载WordPressURLRewrite32.dll和WordPressURLRewrite64.dll,

rewrite

要清楚你的IIS 服务器是32位的还是64位的找好相应的加载就行。
完成以上步骤你的wordpress在IIS上修改固定连接伪静态就很完美了。

下载:WordPressURLRewrite
顺便提供西部数码内容的Rewrite.dll
下载:Rewrite.dll

没有标签
首页      前端资源      wordpress教程      使用WordPress URL Rewrite解决搜索分页问题及不在使用404页面实现伪静态

随身笔记

使用WordPress URL Rewrite解决搜索分页问题及不在使用404页面实现伪静态
主要决解两个问题, 第一个问题:在WIN2003的IIS实现完美伪静态页面,这里的完美是可以不靠404实现伪静态页面。 第二个问题:大部分人可以实现伪静态页面但都是靠404实现的这里会有一个…
扫描二维码继续阅读
2013-01-04