WordPress如何设置IIS服务器伪静态规则
随着WordPress越来越强大,用户群体也在不断扩大。这里面就有不少原先只用ASP程序的用户,这部分用户手头上可能只有IIS服务器。如果想在IIS服务器上体验WordPress就会发现它的伪静态规则无法起效果。这是因为WordPress是基于Linux/Apache平台开发的,本身对IIS就没做过优化处理。但WordPress是可以安装在IIS服务器上运行的,只不过会有很多问题需要调整。其中一个最要命的SEO问题就是伪静态规则无法起效。这就需要设置新的伪静态规则以适应IIS服务器的需要。以下是具体方法:
1、在httpd.ini中加入如下代码:
/* 设置IIS服务器伪静态规则 代码来源: www.wpzxbj.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上,因为会有很多潜在意想不到的兼容性问题存在。如果都彻底解决好,你需要花费额外的时间成本来配置。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END