wordpress分类目录html,当wordpress遇到中文分类目录,完美解决404!

最近更新:20th 1月, 2015

这个问题是几年前遇到的了,如今回过头再来看,当初的这个解决办法确实有些草率——因为我忽略了一个重要的因素,那就是编码问题。

按照这篇文章的办法解决之后确实好使——前提是你必须在博客内点击才有效,但是一旦你遇到了类似这样的抓取连接:

虽然点开之后浏览器的地址栏里显示的仍旧是中文,但此中文却早已非彼中文了。编码不同导致的直接结果就是——404!

难怪当时第一个评论回复的是无效呢!呵呵。

那么究竟该怎么解决呢?我想,最完美的办法恐怕还是使用别名的方式了,分类目录使用中文,但是WordPress还是提供了分类目录的别名选项,你可以将别名设置为拼音,或者英文简写,甚至干脆就是英文单词也是可以的,这样,就里外全部都兼容啦。

我猜这个问题应该是每个用wordpress都会遇到的吧?我居然这么久都没有发现,汗~

当wordpress遭遇中文分类目录的时候,就会出现404,而把分类改成英文就能够打开,这大概是因为页面静态化造成的吧。可是要把每一个分类都英文化这样又会让读者看着眼晕——谁喜欢鸟语啊哈哈

所以,还是找到了另一种解决办法,我用这个办法完美解决,主要是参考了这里。

解决办法很简单,就是一个“!”的问题,好了,我们开始。

首先在你博客空间的wp-includs文件夹下面,找到rewrite.php文件,然后做一下备份,我们要修改的内容就在这里面。

接着打开已经备份过的rewrite.php,在大概1000行的地方找到如下内容,当然,代码之间灰色的注释你是应该忽略掉的呵呵。

function get_category_permastruct() {

return $this->get_extra_permastruct(‘category’);

}

function get_tag_permastruct() {

return $this->get_extra_permastruct(‘post_tag’);

}

function get_extra_permastruct($name) {

if ( empty($this->permalink_structure) )

return false;

if ( isset($this->extra_permastructs[$name]) )

return $this->extra_permastructs[$name][0];

return false;

}

没错,我们要修改的就是 if ( empty($this->permalink_structure) )这一行,在empty前面添加一个英文的叹号,即

if ( empty($this->permalink_structure) )

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

然后保存即可:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值