win主机中文tag标签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
多加了一个”/“,所有问题,全部解决。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫
2014年1月1日 下午2:49 1F
一直在用linux主机的路过 <img src="” />
2014年1月1日 下午2:55 B1
@ NameDomain 用的什么品牌的,价格怎么样,这个用完了,我也准备换
2014年1月1日 下午2:58 B2
@ 倚天雪 我用的是恒创的香港主机
2014年1月1日 下午2:59 B3
@ NameDomain 什么价格?
2014年1月1日 下午3:02 B4
@ 倚天雪 600M空间,年付98.
现在好像有优惠活动
2014年1月1日 下午4:06 B4
@ NameDomain 好便宜
2016年4月12日 上午9:36 2F
我用的也是美橙全能型的主机,遇到的问题基本和你一样。到现在我的tag 伪静态后访问时404问题还没解决….坑爹
2016年4月12日 上午9:39 3F
感谢楼主,已经解决