关注网络与数据安全

忘记密码
“游侠安全网”创建了网络安全从业者QQ大群(群号:389710688) ,欢迎各位同仁加入!有其它问题,请联系站长“网路游侠”,QQ:55984512


Windows+IIS环境下配置WordPress伪静态

2012-04-24 21:25 推荐: 浏览: 93字号:

摘要: 又把网站从Linux改成了Windows,然后悲剧的发现Windows默认是不支持WordPress的伪静态……这绝对是不可以接受的结果……于是百度之,然后解决,说下做法: 在IIS配置WordPress URL Rewrite组件。组件发布页:http://...

又把网站从Linux改成了Windows,然后悲剧的发现Windows默认是不支持WordPress的伪静态……这绝对是不可以接受的结果……于是百度之,然后解决,说下做法:

在IIS配置WordPress URL Rewrite组件。组件发布页:http://www.binaryfortress.com/wordpress-url-rewrite,下载此组件以后,把压缩包解压到任何地方,保持WordPressURLRewrite.ini和WordPressURLRewrite32.dll(32位版本,64位版本对应为64.dll)在同一文件夹下就可以了。然后打开WordPressURLRewrite.ini设置博客目录,以及需要排除的目录,默认即可。接下来,在IIS中选择相应的站点,在ISAPI筛选器中加载WordPressURLRewrite32.dll。注意:要给dll所在的目录加上IIS_WPG组的写入权限,否则无法加载对应dll文件。

当然,这样做完之后,是无法支持中文的tags的,那么在进行如下操作:

在WordPress根目录下的wp-includes文件夹中找到classes-wp.php,然后:

1.找到代码

$pathinfo = $_SERVER['PATH_INFO'];

将其修改为

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'],"UTF-8","GBK");

2.找到代码

$req_uri = $_SERVER['REQUEST_URI'];

将其修改为

$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'],"UTF-8","GBK");

我的网站转换前有的页面现在没了,所以我做了个404.php,并放到网站根目录,然后在IIS设置了下,将默认的404页面改成下面的内容:

$qs = $_SERVER['QUERY_STRING'];

$_SERVER['REQUEST_URI'] = substr($qs,strpos($qs, ':80')+3);

$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];

include('index.php');

?>

联系站长租广告位!

中国首席信息安全官