星期五 , 2020-10-23
首页 > WordPress教程 > WordPress如何设置IIS服务器伪静态规则

WordPress如何设置IIS服务器伪静态规则

随着WordPress越来越强大,用户群体也在不断扩大。这里面就有不少原先只用ASP程序的用户,这部分用户手头上可能只有IIS服务器。如果想在IIS服务器上体验WordPress就会发现它的伪静态规则无法起效果。这是因为WordPress是基于Linux/Apache平台开发的,本身对IIS就没做过优化处理。但WordPress是可以安装在IIS服务器上运行的,只不过会有很多问题需要调整。其中一个最要命的SEO问题就是伪静态规则无法起效。这就需要设置新的伪静态规则以适应IIS服务器的需要。以下是具体方法:

1、在httpd.ini中加入如下代码:

/*
设置IIS服务器伪静态规则
代码来源: www.wpzhinan.com
*/
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
#解决中文tag无法访问的问题
RewriteRule /tag/[^/]+)/([^/]+)/?([0-9]+)?/ /index.php?tag=$1&paged=$3 [L]
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
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、修改/wp-include/classes-wp.php解决中文tag页不能打开问题:

原代码:
$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");

总结,虽然通过以上方法可以实现在IIS服务器上的WordPress伪静态规则,但是仍不建议将WordPress网站运行在IIS上,因为会有很多潜在意想不到的兼容性问题存在。如果都彻底解决好,你需要花费额外的时间成本来配置。

本文地址:http://www.wpzhinan.com/jiaocheng/1302.html
版权申明:除部分代码外,本站内容均为原创,转载请注明来源,违者必究侵权责任!

相关推荐

WP_Image_Editor_Imagick 指令注入漏洞修复方法

Imagick组件爆出了超级漏洞,危害等级极高,直接导致大量使用Imagick组件的网站均 ...