我应该使用什么HTTP重定向状态来链接异地?

时间:2009-10-23 12:09:40

标签: php http redirect http-status-code-302

在通过Google随机浏览我的网站时,我注意到它显示远程重定向为本地文件。现在这可能既好又坏,但我想知道如何解决这个问题却不会发生?

我目前正在使用PHP和header('Location: ...发送302重定向。查看HTTP status codes列表,我猜测我应该使用303重定向来重定向异地。有人能在这里帮助我,要么确认/否认这一点,要么告诉我应该做些什么呢?

显然,由于我无法告诉Google重新索引我的网站,因此我可以自行测试这个问题......

2 个答案:

答案 0 :(得分:1)

Note: Many pre-HTTP/1.1 user agents do not understand the 303
status. When interoperability with such clients is a concern, the
302 status code may be used instead, since most user agents react
to a 302 response as described here for 303.

我不知道那里有哪些pre-HTTP / 1.1用户代理,所以...... 根据你的目的,我会使用301(永久)或307(临时)。 301会告诉Google的行为就像您直接链接到重定向网站一样。

303看起来好像是用于在提交表单后重定向,特别是。

编辑:

虽然您的问题是“我应该使用哪种HTTP重定向状态来关联异地?” - 如何直接链接异地? (如果您使用表单进行链接,我猜这不起作用,在这种情况下,您使用303状态代码)

答案 1 :(得分:1)

303 status code旨在用于响应POST请求以重定向到其他资源:

  

此方法主要用于允许输出POST激活的脚本以将用户代理重定向到选定的资源。

在您的情况下,您应该使用301 status code进行永久重定向:

  

已为所请求的资源分配了一个新的永久URI,并且以后对该资源的任何引用应该使用其中一个返回的URI。

或者您使用临时重定向(302 / 307)并告诉搜索引擎不要索引这些文档。