win主机中文tag标签404,伪静态问题终于解决好了!

2013年12月27日02:12:52 8 3,351

win主机中文tag标签404,伪静态问题终于解决好了!

404

主机是购买的美橙互联的全能主机,当时不是很懂。在建wordpress的时候,也没太注意这些问题,随着了解的加深,逐渐出现了下面几个问题,直至刚才,问题算算是全部解决。

1,固定链接问题。刚开始使用的是wordpress默认的链接形式,大概20天之后,更换成现在的%post_id%.html形式;

2,伪静态问题。理论上来说,win主机直接更改固定链接为%post_id%.html貌似是不支持的,但是我的主机控制面板有一个伪静态选择,我选择的是wordpress伪静态。但是是在更改链接之前还是之后选择的,我也记不清了。当时选择这个,只是觉得伪静态貌似很牛逼的样子。。也就是说,在这个固定链接问题上,我没有出问题;

3,win主机中文tag标签404问题。这是目前出现的最大问题。因为伪静态是主机面板自己设置的,所以我之前也没意识到它的作用。直到我在侧边栏显示了标签云,我点击点击标签云里的标签是无法正常跳转的。最后经高人指点得知是win主机中文tag标签404问题。百度之后得到如下解决办法:

第一种方法:
WP-include/classes.php(3.1之前版本)或WP-include/class-wp.php(3.1+之后版本,下文称新版)找到第154行(新版为142行),把:

$pathinfo = $_SERVER['PATH_INFO';

替换为:

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

找到第159行(新版为147行),把:

$req_uri = $_SERVER['REQUEST_URI';

替换为:

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

 

第二种方法:

在网站的根目录的wp-includes文件夹中找到“rewrite.php”这个文件;找到这段代码:

function get_tag_permastruct()

{if (isset($this->tag_structure))  {return $this->tag_structure;}

if (empty($this->permalink_structure)) {

将其中的 if (empty($this->permalink_structure)) { ”修改为“ if (! empty($this->permalink_structure)) {

起初,我用第二种方法基本解决了中文标签404 的问题,直到今天发现视频模板无法正常使用,我就意识到是这个多出来的”!“感叹号引起的问题,删除之后恢复正常,但是中文标签又挂了。。。

整理了一下思路最终还是决定从美橙互联的伪静态查起,根据百度提示,修改http.ini里面的以下代码,终于解决了所有问题:

RewriteRule /tag/(.*)$ /index\.php\?tag=$1

更改后的规则

RewriteRule /tag/(.*)/$ /index\.php\?tag=$1

多加了一个”/“,所有问题,全部解决。

 

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:8   其中:访客  5   博主  3

    • avatar NameDomain 2

      一直在用linux主机的路过 评论” />

      • avatar 大魚 1

        我用的也是美橙全能型的主机,遇到的问题基本和你一样。到现在我的tag 伪静态后访问时404问题还没解决….坑爹

        • avatar 大魚 1

          感谢楼主,已经解决