首页 > CMS > Wordpress > 正文

在windows虚拟主机下WordPress伪静态后中文标签分类404错误问题

2024-09-07 00:51:20
字体:
来源:转载
供稿:网友

2014年8月,我的网站80后励志网又有了比较大的进步,日IP流量已经很接近3000IP了,这导致之前使用的万网M3主机的30G流量不够用了,本来想购买点流量应付过这个月,但是买流量的话,最少得买50G的,50G流量就要250元,空间商建议我还不如直接升级主机,我想想也是,结果就换了万网的G1主机.

换了以后才发现问题来了,万网G1只有windows的,没有Linux的,这样的话,我之前的很多设置都得改.

首先第一个问题就是80后励志网的一个二级目录博客的伪静态问题,我百度了一下,倒是很快解决掉了,也把这个方法分享在博客里.

windows环境下WordPress的伪静态是通过httpd.ini来实现的,用txt建立一个httpd.ini文件,内容如下:

  1. [ISAPI_Rewrite] 
  2. CacheClockRate 3600 
  3. RepeatLimit 32 
  4.  
  5. For sub 
  6. RewriteRule /blog/sitemap.xml /blog/sitemap.xml [L] 
  7. RewriteRule /blog/favicon.ico /blog/favicon.ico [L] 
  8. RewriteRule /blog/tag/(.*)/page/(/d+)$ /blog/index/.php/?tag=$1&paged=$2 
  9. RewriteRule /blog/tag/(.+)$ /blog/index/.php/?tag=$1 
  10. RewriteRule /blog/category/(.*)/page/(/d+)$ /blog/index/.php/?category_name=$1&paged=$2 
  11. RewriteRule /blog/category/(.*) /blog/index/.php/?category_name=$1 
  12. RewriteRule /blog/wp-(.*) /blog/wp-$1 [L]  --Vevb.com 
  13. RewriteRule ^/blog/$ /blog/index.php [L] 
  14. RewriteRule /blog/(.*) /blog/index.php/$1 [L] 
  15. RewriteRule /blog/page/(.*)/?s=(.*) /blog/index/.php/?s=$2&paged=$1 
  16. RewriteRule /blog/page/(.*) /blog/index/.php/?paged=$1 

注:/blog/是我二级目录博客的地址,如果大家的WordPress是放在根目录的话,就直接用“/”即可.

第二个问题,伪静态后,中文标签分类出现404错误,因为Win主机下wordpress不支持中文tag标签.

解决方法如下:

1.打开wp-include文件夹,找到并打开编辑class-wp.php文件.

2.查找代码:

$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';

把这句代码替换成:

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

3.查找代码:

list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );

把这句代码替换成:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表