如何解决是否可以使用界面页面进行搜索引擎友好重定向?
| 我想将页面重定向:“ 0”到“ 1”,但我在第一个网址中没有真实姓名,因此我应该从数据库获取它。 我创建了一个界面页面,然后将页面“ 0”重定向到该页面,然后从db中获取了实名(URL中带有id参数),然后使用PHP Header函数将页面重定向到了“ 1”。 这个过程搜索引擎友好吗? 搜索引擎搜寻器会将哪个页面编入索引?界面页面或http://www.mysite.com/the-real-name.htm
?
索引http://www.mysite.com/the-real-name.htm
的最佳解决方案是?
非常感谢
解决方法
如果您想告诉搜索引擎最终URL是\“ URL \”,则需要执行永久重定向。 HTTP状态代码为“ 6”。
header(\'Location: http://www.mysite.com/the-real-name.htm\',true,301);
对于第一个重定向,您需要执行一个临时重定向。 HTTP状态码是302
。
header(\'Location: http://www.mysite.com/index.php?id=1\',302);
请记住,这是一个好习惯,不仅要发回标头以进行重定向,而且还要发送HTTP / HTML BODY,以便将人类可读的信息发送到新位置。重定向不应由客户端自动执行。
不同的实施方式
根据您使用的系统,使用PHP设置HTTP状态标头可能会有所不同。上面的代码适用于有效的PHP版本。坚持最新。但是,如果无法这样做,并且服务器集成被破坏,则可能会施加一些限制,并施加一些压力:
# Manually sending the HTTP 1/1 status line header - PHP does this nowadays,so normally not needed. But if you need it,ensure it\'s the first header you send.
header (\'HTTP/1.1 301 Moved Permanently\');
# Same here,but some CGI/FCGI+PHP implementations require you to set the Status header as well manually. Normally not needed.
header (\'Status: 301\');
# Set the Location header and status: (you will always need this)
header (\'Location: http://www.mysite.com/the-real-name.htm\',301);
始终通过使用能够显示未自动执行重定向的响应标头的工具来请求脚本来检查脚本是否发送了正确的标头,例如curl:
$ curl -i \"http://www.mysite.com/index.php?id=1\"
否则,要等到Google反映出更改后,您需要花费一些时间,只是为了让您意识到自己犯了一些错误。
, 重定向时还设置了301标头,搜索引擎将从那里知道要做什么。
header (\'HTTP/1.1 301 Moved Permanently\');
header (\'Location: \'.$location);
, 如果关系无法更改,请使用建议的永久重定向(301状态码)。否则,如果相同的id
值将来可能指向其他位置,请使用临时重定向。
在任何一种情况下,如果规范(正式,主要,主要)URL为\“ http://www.mysite.com/the-real-name.htm \”,则可以告诉搜索引擎,其中带有规范元标记页面的“ѭ14”部分:
<link rel=\"canonical\" href=\"http://www.mysite.com/the-real-name.htm\" />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。