网上很多方法,最终找到一个
1.下载WordPress URL Rewrite组件
下载地址:http://www.binaryfortress.com/wordpress-url-rewrite
WordPress URL Rewrite主要功能与特色:完全无需人工干预,全自动重写URL,只需要在后台设置好固定链接(Permalinks)形式,就能直接使用,就像linux下用htaccess一样。可以使用在一级目录和子目录,也可以排除不需要重写的目录。这个非常方便,对于某些目录不需要URL重写的就将其排除,不会造成无法访问。因为全自动,所以免去了在写重写规则时候遇到的规则重复造成部分目录和文件无法实现的情况。
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文件。
如果箭头红色并且向下,请尝试检查组件文件夹的权限。
到此配置已经完全OK了,因为韦文成博客的文章、栏目、tag别名均是用的英文,但是如果你的博客路径存在中文名,就得往下看了(以下方法为转载,未亲自测试)。
存在并需要解决的问题:
(1)中文的tag无法访问
解决办法:需要使用ISAPI_Rewrite来写一条规则:
RewriteRule /tag/(.*) /index\.php\?tag=$1
(2)含有中文的网址不能访问
1.安装ISAPI_Rewrite
网站根目录下新建立一个httpd.ini文件,用记事本或是EditPlus打开,规则写在httpd.ini里,如下:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule /tag/(.*)/ /index\.php\?tag=$1
现在中文tag是能访问了,但是还是存在问题。
存在的问题:
(1) tag页面的文章超过1页,翻页时都不能访问
解决办法:修改这条规则为:
RewriteRule /tag/[^/]+)/([^/]+)/?([0-9]+)?/ /index.php?tag=$1&paged=$3 [L]
但是修改之后中文tag又不能访问了,别担心,接着看下一步。
2.修改wp-include中的classes.php
继续修改第1步中的问题,因为修改Rewrite规则之后中文tag还是不能访问,含有中文的网址也不能访问。最好使用专门的PHP编辑器工具,如EditPlus。
但是中文tag标签网址打不开下面解决办法:
如果你使用的是WordPress 3.1以前的版本,请修改网站目录下wp-include/classes.php文件,如果是3.1及以后版本,请修改wp-include/class-wp.php。
$pathinfo = $_SERVER['PATH_INFO'];
改成
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK');
$req_uri = $_SERVER['REQUEST_URI'];
改成
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK');
修改后保存,然后将保存好的classes.php文件上传并覆盖原文件即可,注意文件保存格式。
1.资源失效请联系QQ:1138166071补发;寻课加QQ联系
2.资源均为网络收集,仅供参考研究,请在下载后24小时内删除。不要商用和非法用途,否则后果自己承担。
3.默认解压密码:blog.qdql.net
4.购买本站资源即代表同意本站免责协议。
5.提示:本站资源属虚拟商品,购买后恕不退款。
6.特别声明本站资源部分来源于网络,如有侵权,请联系站长进行删除处理!
本文地址:http://blog.qdql.net/106/