wordpress运行php 404错误,WordPress标签和目录404错误的解决方法 | 科研动力

也不知道何时网站出现了打开标签或者目录就会出现404错误!也不知道如何产生这个错误的,是安插件还是误操作反正我是不清楚了。上网找了很多方法都不顶用!最后还是一种方法解决了问题。在叙述我解决方法之前,先看看网络上都有什么答案。

总起来说有两种方法

方法1:修改wp-includes。打开FTP,找到根目录下的wp-includes,打开wp-includes找到rewrite.php。只要简单地修改这个文件就可以了,找到以下代码:

function get_tag_permastruct() {

if ( isset($this->tag_structure) )

return $this->tag_structure;

if (emptyempty($this->permalink_structure) )

{ $this->tag_structure = ”;

return false;}

只要在empty前面加个英文的”!”就可以了,然后把这个文件上传到wp-includes的目录下就可以了。

PS:我找了半天就是没找到这个代码,我的只是如下代码

function get_tag_permastruct() {

return $this->get_extra_permastruct('post_tag');

方法2:修改classes-wp.php。打开FTP,找到wp-includes中的classes-wp.php文件,找到以下代码进行修改。

1、把$pathinfo = $_SERVER['PATH_INFO'];替换为:$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], “UTF-8″, “GBK”);

2、$req_uri = $_SERVER['REQUEST_URI'];替换为:$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], “UTF-8″, “GBK”);

修改好了之后,保存,然后将保存后的classes.php文件上传到服务器并覆盖原文件即可。

PS:我是找到这个代码了,也修改了,可是倒是不返回404了,反而打不开了!又搜了搜,有的人说是引号可能是中文引号,要把引号改成英文引号才行。我仔仔细细的把每个标点都改过了,还是上述情况,打不开!

方法3:就是直接修改标签的别名。据说因为wordpress支持不支持英文,只支持英文、拼音或者数字,所以只要把tags标签别名改成英文就可以了。

PS:我仔仔细细的看了我的标签和目录名,是有中文的,但是也有英文的。但是不管中文还是英文,都是打不开,还是返回404!

我真是崩溃了,这货到底怎么了。我空间下还有两个域名,仔仔细细比较了两个不同域名之间的文件差异,都一样。可是另外一个域名网站却可以打开,毛有任何问题。我的域名网站却是出现这个问题。

最后解决方法

最后我又来来回回改了数次,都是这样结果。没法,我又仔仔细细想了想,从名字上看,rewrite.php出了问题。Re-write,重新写。应该是这个出现了问题。我仔仔细细的看了看,虽然没有第一种方法所说的代码,但是代码如下情况

function get_category_permastruct() {

return $this->get_extra_permastruct('category');

}

/**

* Retrieve the permalink structure for tags.

*

* If the tag_base property has no value, then the tag structure will have

* the front property value, followed by 'tag', and finally '%tag%'. If it

* does, then the root property will be used, along with the tag_base

* property value.

*

* @since 2.3.0

* @access public

*

* @return bool|string False on failure. Tag permalink structure.

*/

function get_tag_permastruct() {

return $this->get_extra_permastruct('post_tag');

}

/**

* Retrieve extra permalink structure by name.

*

* @since 2.5.0

* @access public

*

* @param string $name Permalink structure name.

* @return string|bool False if not found. Permalink structure string.

*/

function get_extra_permastruct($name) {

if ( emptyempty($this->permalink_structure) )

return false;

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

return $this->extra_permastructs[$name]['struct'];

return false;

}

试着在if ( empty($this->permalink_structure) )这个代码加上一个“!”,改成如下代码if ( !empty($this->permalink_structure) )

保存以后,再试试,一切正常!我也不知道这是啥原因。因为我对代码一窍不通。又上网搜了搜,有的说可能是对代码进行了优化,或者是3.2.1版rewrite.php。

好吧,不管了,反正最后解决了。希望这文能对和我有一样困惑的站长有所裨益。

0

本博客文章如未特别说明,皆为本站原创,默认采用署名-相同方式共享 4.0 国际协议

转载时请注明出处及相应链接:WordPress标签和目录404错误的解决方法 | 科研动力 + https://www.howsci.com/wordpress-404-error.html

相关文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值