浙江小蔡的SEO资料站 >> SEO日记 >> 为什么wordpress的404.php设置会导致无法翻页

明天会更好!

为什么wordpress的404.php设置会导致无法翻页

几天前宁波SEO发现本站的翻页不起作用了,朋友们的建议还是求助于百度。本人由于人在外地,只好回家后再搜索这个问题的答案了。

         由于搜索的关键字不同就会产生不同的结果。本人最初是搜索“wordpress无法翻页”但结果并不理想。后来去博客进行测试,点击下一页,发现网址显示的是“http://www.0579seo.com/404.php/category/seo/page/2?404;http://www.0579seo.com:80/category/seo”,可见,是与404.php的设置有关,那么问题可能出在两个方面:一是404.php设置有问题。二是404.php设置与程序有冲突。

         再次从这两方面来进行搜索,就更有针对性了。本人先搜索冲突,结果的确找到一个解决方法,是修改“根目录下/wp-steeings.php”中的代码。尝试着修改后,再刷新网页,却发现网站无法打开了。在修改时就感觉代码有点问题,而且分享文章中写得并不清楚。只能放弃。

         搜索404.php导致翻页错误的问题解决方法,找到了一篇文章,是修改404代码的。再次进行尝试,把新的代码替换掉旧的文件,终于把问题解决了。问题还真的出在404.php文件设置。下面本人把旧的文件内容与新的文件内容进行分享,供有同样问题的朋友参考。

         旧的404.php文件内容:

<?php
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ‘:80′)+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include(‘index.php’);
?>

          新的404.php文件内容:

<?php
// This is the default file for the site. Usually

index.php
$default = ‘index.php’;

// The name of this file.
// Set this value for the URL in Custom Error

Properties of your website in IIS.
// Goto: IIS Manager > Websites > [Site Name] >

Properties > Custom Errors >
// 404 & 404;2 & 404;3 > URL (Requires a ‘/’ prefix

in IIS).
$thisfile = ‘404-handler.php’;

$_SERVER['ORIG_PATH_TRANSLATED'] = str_replace

($thisfile, $default, $_SERVER

['ORIG_PATH_TRANSLATED']);
$_SERVER['SCRIPT_FILENAME'] = str_replace

($thisfile, $default, $_SERVER['SCRIPT_FILENAME']);
$_SERVER['ORIG_PATH_INFO'] = str_replace($thisfile,

$default, $_SERVER['ORIG_PATH_INFO']);
$_SERVER['SCRIPT_NAME'] = str_replace($thisfile,

$default, $_SERVER['SCRIPT_NAME']);
$_SERVER['PHP_SELF'] = str_replace($thisfile,

$default, $_SERVER['PHP_SELF']);
$_SERVER['PATH_INFO'] = false;

$qs =& $_SERVER['QUERY_STRING'];
$ru =& $_SERVER['REQUEST_URI'];
$pos = strrpos($qs, ‘://’);
$pos = strpos($qs, ‘/’, $pos + 4);
$_SERVER['URL'] = $ru = substr($qs, $pos);
$qs = trim(stristr($ru, ‘?’), ‘?’);

// Required for WordPress 2.8+
$_SERVER['HTTP_X_ORIGINAL_URL'] = $ru;

// Fix GET vars
foreach ( $_GET as $var => $val ) {
if ( substr($var, 0, 3) == ‘404′) {
if ( strstr($var, ‘?’) ) {
$newvar = substr($var, strpos($var, ‘?’) + 1);
$_GET[$newvar] = $val;
}
unset($_GET[$var]);
}
break;
}
include($default);
?>

 现在问题解决了,一直悬着的心也放下来了。呵呵。这几天由于在外地,上网不太方便,只能更新文章,而无法回复朋友们的留言,希望大家能够见谅。

出处:浙江小蔡SEO培训资料站
地址:http://www.0579seo.com
请以链接形式注明出处,否则请不要转载。

我们为企业提供全套SEO服务,包括网站整站SEO网站优化,网站后期维护管理,搜索引擎关键词优化,符合SEO标准的网站建设,网络营销咨询,SEO培训、seo顾问等网站优化服务,如果您不想赚钱,那么请不要与小蔡联系:不想赚钱不要找小蔡手机号:15957852057

TagsSEO 宁波SEO UE pr

上一篇:春节假期期间顺便要做的几件事

下一篇:SEO优化应该有分析网站日志的习惯

来源:宁波SEO 文章整理:小蔡 2011-02-04热度:
google reader订阅到鲜果 订阅到抓虾
订阅到飞鸽 my yahoo订阅到有道

最新发表的SEO文章

小蔡推荐的SEO文章

最热门的SEO文章