因为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();