Gar*_*aar 4 php http-status-code-301
这个应该很容易......
我是否需要明确告诉PHP我想进行301重定向?像这样...
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.example.com/");
?>
Run Code Online (Sandbox Code Playgroud)
通常,我放弃第一个陈述,只是做...
<?php
header("Location: http://www.example.com/");
?>
Run Code Online (Sandbox Code Playgroud)
第二个例子实际上是302重定向吗?
是.
引用精细手册:
第二个特例是"Location:"标题.它不仅将此标头发送回浏览器,而且还向浏览器返回REDIRECT(302)状态代码,除非已设置201或3xx状态代码.
最可能的原因302 Found是a是非指定用途的重定向.您可以使用四个3xx重定向标头.
301 Moved Permanently是永久重定向,例如用于保持与旧URL的兼容性.因此,许多浏览器将缓存重定向位置,并且不会再次检查.303 See Other 是重定向,例如用于Post-Redirect-Get操作 - 请注意,它仅定义为HTTP/1.1307 Temporary Redirect意思是"是的,它通常在这里,但现在,资源在其他地方" - 这可能不是你想要的意思:例如,你总是希望在这一点上重定向.再次,在HTTP/1.1中定义302 Found是一个未指定用途的重定向 - 在上述不适用时使用,或者在需要HTTP/1.0兼容性时使用(在2011年仍然是一个问题吗?); 因此,它被用作默认值.