因为SEO的缘故,301重定向(跳转)用的比较频繁。301是永久性的跳转,302是临时的跳转,这个稍微有点SEO基础的人都知道。实现重定向的原理很简单,就是Web服务器返回个HTTP header给浏访问者,PHP发送HTTP header这个功能是由header()函数来实现的。301, 302, 404 这些状态码是在HTTP协议中约定好的,所以不用打破沙锅问“为什么是301而不是3001”。扯多了,回到正题。
PHP 301重定向:
header('HTTP/1.1 301 Moved Permanently');
Header( "Location: http://www.example.com/" );
exit();
PHP 302重定向:
header("Location: http://www.example.com/");
exit();
顺到把PHP 404错误也附带上:
header("HTTP/1.1 404 Not Found");
exit();