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固定链接的可以刷新看看了,没有设定的童鞋可以进入固定链接中,并对想要的伪静态模式进行设定,即可。
没有评论