我在index.php文件的开头有这段代码:
if ( !isset($_GET['cat']) )
die(header("Location: ?cat=top"));
基本上,如果没有设置类别,它会自动重定向到“顶部”类别。
我现在已经注意到Google添加了index.php,但它只显示搜索结果中的URL,而不是显示我定义的元标记。
所有其他页面索引完全正常,而不是index.php文件。对此有何解决方案?
提前致谢!
答案 0 :(得分:4)
使用header:Location时,PHP默认使用302重定向。 由于谷歌没有将重定向位置与初始位置交换,因此这与SEO混淆。尝试使用
if ( !isset($_GET['cat']) ) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: ?cat=top");
die();
}
这应该告诉谷歌索引具有元信息的重定向位置。
答案 1 :(得分:2)
功能die
能够打印出文本/字符串数据,我从未见过在header
内调用die
。
正确的方法应该是:
if ( !isset($_GET['cat']) ) {
header("Location: ?cat=top");
die();
}
您可以拨打exit;
而不是die();
。
答案 2 :(得分:-1)
我认为不需要调用die()
函数。你可以像
if ( !isset($_GET['cat']) )
header("Location: ?cat=top");