wordpress伪静态规则配置win服务器的解决方案



好久没有写博客了,换了服务器,进行了备案,所以安静了许久,但是上传了wordpress程序之后,问题出现了,就是伪静态失效问题,通过网上的搜索,整理后找到了解决方案,特此分享一下。不过我个人用的是win2003的服务器。

这是一段神奇的代码

[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]

把这段代码copy下来,复制到httpd.ini文件里面(新建一个txt文本文档,之后重命名为httpd.ini)。

之后把这个上传到你们的ftp根目录下就可以了,但是如果,还不能正确显示的话,可能是你的服务器缺少组件,解决方式,联系服务器供应商,告知你上传到根目录的httpd.ini伪静态规则,让他们协助配置一下即可。

http://www.yuyongxin.com/if-you-do-not-want-to-be-a-man-that-sticks.html,连接便可以正常访问了

解决了伪静态问题后你可能会发现另一个问题,就是标签问题,便是没有即时翻译的TAGS标签会是查找不到该标签页面的。

解决此类问题可以在ftp中找到class-wp.php(通过wp-includes)如下图:

伪静态原则

下载下来之后,将里面的代码相应替换即可:

原代码:

$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”);

修改之后保存,并上传到ftp覆盖原先的文件即可,按照此类步骤结束后,如果你是已经设定wordpress固定链接的可以刷新看看了,没有设定的童鞋可以进入固定链接中,并对想要的伪静态模式进行设定,即可。

 

  1. 没有评论

  1. 无通告。