我在 index.php 文件的开头有这段代码:
if ( !isset($_GET['cat']) )
die(header("Location: ?cat=top"));
基本上,如果没有设置类别,它会自动重定向到类别“Top”。
我现在注意到 Google 添加了 index.php,但它只在搜索结果中显示 URL,而不是显示我定义的元标记。
所有其他页面的索引都非常好,只是没有 index.php 文件。有什么解决办法吗?
提前致谢!
PHP 在使用 header: Location 时默认使用 302 重定向。这会与 SEO 混淆,因为 google 不会将重定向的位置与初始位置交换。尝试使用
if ( !isset($_GET['cat']) ) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: ?cat=top");
die();
}
这应该告诉谷歌索引具有元信息的重定向位置。
函数die
能够打印出文本/字符串数据,我从未见过调用header
inside die
。
正确的做法应该是:
if ( !isset($_GET['cat']) ) {
header("Location: ?cat=top");
die();
}
您可以调用exit;
而不是die();
.
我认为没有必要调用die()
函数。你可以打电话
if ( !isset($_GET['cat']) )
header("Location: ?cat=top");