十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
解决分类目录和标签打开错误:
创新互联专注于休宁县网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供休宁县营销型网站建设,休宁县网站制作、休宁县网页设计、休宁县网站官网定制、小程序定制开发服务,打造休宁县网络公司原创品牌,更为您提供休宁县网站排名全网营销落地服务。
1、在wp-includs文件夹下面,找到rewrite.php文件,复制保存或者下载下来。保存一下,防止修改出处,万一出错了,可以覆盖还原。
2、然后用记事本打开rewrite.php文件,找到这个函数名:function get_category_permastruct()(大约在970行),代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
functionget_category_permastruct(){
if(isset($this-category_structure))
return$this-category_structure;
if(empty($this-permalink_structure)){
$this-category_structure=”;
returnfalse;
}
if(empty($this-category_base))
$this-category_structure=trailingslashit($this-front.‘category’ );
else
$this-category_structure=trailingslashit(‘/’ .$this-root.$this-category_base);
$this-category_structure.=‘%category%’;
return$this-category_structure;
}
3、然后在这个下面找到
if(empty($this-permalink_structure))
把这个改为
if(!empty($this-permalink_structure))
注意,这里只加了一个英文‘!’解决了wordpress分类目录404错误的问题。
4、再找到这个函数function get_tag_permastruct()(大约在986行),里面也有一个
if(empty($this-permalink_structure))
一样,还是改为
if(!empty($this-permalink_structure))
这里只加了一个英文‘!’解决了wordpress的tag标签404错误的问题。至此所有的问题都解决了,看看是不是很简单啊!
5、有些同学打开3.2.1版rewrite.php文件的时候,可能没有发现上述方法中的代码,而是如下的内容:
functionget_category_permastruct(){return$this-get_extra_permastruct('category');}
应该是对代码进行了优化。往下找,找到了function get_extra_permastruct($name),代码如下:
functionget_extra_permastruct($name){if(empty($this-permalink_structure))returnfalse;if(isset($this-extra_permastructs[$name]))return$this-extra_permastructs[$name][0];returnfalse;}
6、对这段代码进行修改,添加个英文”!”即可,改为如下形式:
functionget_extra_permastruct($name){if(!empty($this-permalink_structure))returnfalse;if(isset($this-extra_permastructs[$name]))return$this-extra_permastructs[$name][0];returnfalse;}
即把代码
if(empty($this-permalink_structure))
中的empty前加上英文的惊叹号“!”
上传覆盖掉原来的文件即可完美解决设置固定链接后分类目录和标签的404错误问题。
第一步:在.htaccess文件中加入如下语句:ErrorDocument 404 /404.html
如果需要修改的网站目录下没有.htaccess文件自己建立一个即可
第二步,自己建立一个404.html文件,放到网站的根目录就可以了。
也可以使用其他后缀,只要.htaccess中指定同样的文件就可以,例如404.php,404asp
如果站长的服务是WIN主机的话,那linux系统之下设置404分方法如下:
在你的wordpress中找到wp-content/themes/你使用的模板/404.php
如果没有404.php的话那么我们建立一个404.php.代码如下:
?php get_header(); ?
div id="container" class="article"
div class="content"
?php _e('我勒个去,你找的这个页面现在居然不存在。', '404yemian'); ?
/div
?php get_sidebar(); ?
/div
?php get_footer(); ?
这样你的wordpress就有了自己的404页面了,站长自己也可以设计有个性的404页面!
最近在改一些东西,包括Discuz论坛,在处理Discuzde修改时特别是重新写了一个404de页面,让用户访问不存在de页面时去访问这个404页面。但是遇到了一个很奇怪de问题,即无法重定向到这个页面。
最初操作:
1、把apache中de配置文件里 加入代码:ErrorDocument 404 /404.php
2、在404页面de代码里加上?php header(”HTTP/1.0 404 Not Found” ? 。这个方法是向客户端发送一个自然deHTTP头。这个方法要在没you向客户端发送任何信息之前使用,因此加在404.phpde文件头最好。
经过对配置文件和DZ论坛代码de查看,发现原因:rewrite规则问题,即我做伪静态de处理,导致第二种地址规则you效,于是已经pass过了服务器层,apachede404定义不再起作用,所以在读取数据dephp文件会被执行。针对这种情况应该做处理。
处理:
1、找到被执行de文件:如viewthread.php;
2、在查询数据后,加上对数据de判断,如果为空,则填写重定向代码;
3、代码:
if(如果没you任何结果)
{
//以前是仅仅显示“该帖子已经不存在”de提示,现在是:
require(’/404.php’);
@header(’HTTP/1.1 404 Not Found’);
@header(’Status: 404 Not Found’);
exit;
}
结果:以上问题解决,可以以404de状态重定向到我自定义de404页面。
最大的可能性就是 apache(PHP 服务器)的配置出现了问题。如果你不是 Apache 服务器,而是用的 IIS 调试的话,那就得去安装一个 “ISAPI_Rewrite3_0069_Lite.msi”筛选器,然后在站点设置里面将 PHP 置为优 先级。
解决方法:先找到 Apache 安装的路径,在其根目录下“conf 文件夹”中有一个文件叫 “httpd.conf”,用记事本将它打开,按“ctrl+F”键,弹出查找窗口,输入 “#LoadModule rewrite_module modules/mod_rewrite.so”,如果能找到的话, 把前面的#删除,这个#号表示注释,也就是没有开启,我们去掉之后也就开启了重启 apache 服务器,再去后台保存一下“固定链接”,重新打开页面。
这是在浏览这些站点时遇到各种不同的连接错误。这种错误一般是由于网站发生故障或者你没有浏览权限所引起。最常见的就是404 NOT FOUND错误信息。主要是因为IE不能找到要求的网页文件,该文件可能根本不存在或者已经被转移到其他地方。
常见问题如下:
404-未找到。
404.0-(无)_没有找到文件或目录。
404.1-无法在所请求的端口上访问Web站点。
404.2-Web服务扩展锁定策略阻止本请求。
404.3-MIME映射策略阻止本请求。