zblog蜘蛛访问链接带有参数 ?wd=&eqid=*** 导致访问404怎么解决?

2024-2-11 / 0 评论 / 158 阅读

大概从去年开始,我自己使用zblog建立的站点,无预警的出现多次百度蜘蛛访问链接时结尾带有?wd=&eqid=***这样的动态参数,最终打不开网页,出现404无法访问的情况,既然无法访问肯定是会影响到seo效果的,这种参数出现次数少还好,一旦大量出现,甚至几乎全部百度蜘蛛访问链接都带参数就需要谨慎处理了,避免被降权。

有个临时的解[]决访问,通过[]修改zblo[]g程序文件,[]让蜘蛛访问的[]这个动态链接[]能够正常访问[]网页内容,方[]法如下:

1、找到c_[]system[]_commo[]n.php文[]件,位置在:[]zb_sys[]tem/fu[]nction[]/c_sys[]tem_co[]mmon.p[]hp

image.png

2、在c_system_common.php的大概502行(每一个版本的zblog可能都不同行数),或搜索其中一行找到此段代码:

if (strpos($url, '?') !== false) {            $queries = GetValueInArray(explode('?', $url), '1');            foreach (explode('&', $queries) as $query) {                $name = GetValueInArray(explode('=', $query), '0');                $value = GetValueInArray(explode('=', $query), '1');                $name = urldecode($name);                $value = urldecode($value);                if (!isset($_GET[$name])) {                    $_GET[$name] = $value;                }                if (!isset($_GET[$name])) {                    $_REQUEST[$name] = $value;                }            }        }    } elseif (isset($_SERVER['REQUEST_URI'])) {        $url = $_SERVER['REQUEST_URI'];    } elseif (isset($_SERVER['REDIRECT_URL'])) {        $url = $_SERVER['REDIRECT_URL'];        if (isset($_SERVER['REDIRECT_QUERY_STRIN'])) {            $url .= '?' . $_SERVER['REDIRECT_QUERY_STRIN'];        }    } else {        $url = str_replace('\\', '/', $_SERVER['PHP_SELF']);        if (strpos($url, ZBP_PATH) !== false) {            $url = str_replace(ZBP_PATH, '/', $url);            $url = ltrim($url, '/');            $url = '/' . $url;        }        if (!isset($_SERVER['QUERY_STRING'])) {            $_SERVER['QUERY_STRING'] = '';        }        $url = $url . ($_SERVER['QUERY_STRING'] ? '?' . $_SERVER['QUERY_STRING'] : '');    }    //这里加了代码,切记看好位置,做好备份再添加测试。    $url=str_replace("html&wd","html?wd",$url);

如上方代码最后,添加:$url=str_replace("html&wd","html?wd",$url);

image.png

以上修改后,就可以保证加了动态参数的链接可以正常访问这个文章页面,至于百度为什么访问文章加了动态参数,以及怎么解决百度访问链接的问题就没有方向了,我的具体情况下不同网站,访问动态链接的时间以及频率都不同,什么都干预不了。

评论一下?

OωO
取消