2

我在 index.php 文件的开头有这段代码:

        if ( !isset($_GET['cat']) )
        die(header("Location: ?cat=top"));

基本上,如果没有设置类别,它会自动重定向到类别“Top”。

我现在注意到 Google 添加了 index.php,但它只在搜索结果中显示 URL,而不是显示我定义的元标记。

所有其他页面的索引都非常好,只是没有 index.php 文件。有什么解决办法吗?

提前致谢!

4

3 回答 3

4

PHP 在使用 header: Location 时默认使用 302 重定向。这会与 SEO 混淆,因为 google 不会将重定向的位置与初始位置交换。尝试使用

if ( !isset($_GET['cat']) ) {
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: ?cat=top");
    die();
}

这应该告诉谷歌索引具有元信息的重定向位置。

于 2012-06-12T10:34:45.197 回答
2

函数die能够打印出文本/字符串数据,我从未见过调用headerinside die

正确的做法应该是:

if ( !isset($_GET['cat']) ) {
    header("Location: ?cat=top");
    die();
}

您可以调用exit;而不是die();.

于 2012-06-12T10:32:36.853 回答
-1

我认为没有必要调用die()函数。你可以打电话

if ( !isset($_GET['cat']) )
   header("Location: ?cat=top");
于 2012-06-12T10:30:48.490 回答