Posts Tagged ‘header’

Php页面header跳转的方法及错误矫正

星期五, 十二月 21st, 2012 46 views

因为准备架设双博客,所以把之前的技术博客移动到了网站根目录下的coder子文件夹,在WP后台修改了网站首页地址之后,Blog运行恢复正常。但是之前的一些外链比如 http://www.beitown.com/?p=420 此时无法链接到正确的文章页面。所以准备在根目录的index.php根据来路域名做一个判断及跳转。代码如下:

1
2
3
4
5
6
7
8
<?php
$url = $_SERVER['QUERY_STRING'];
if (stristr($url,"p="))
{
   //echo "url=:" . $url;
   header('Location:/coder/?'.$url);
}
?>

$_SERVER["QUERY_STRING"]表示查询(query)的字符串,浏览器通过http://www.beitown.com/?p=420地址访问index.php时,$_SERVER["QUERY_STRING"]的值为”?”之后的表达式,即p=420
通过stristr函数对url进行包含判断,如果含有表达式”p=”则进入相应的操作。
header函数意为跳转,使用方法参考demo

另外这里有一个错误介绍一下,如果在header前调用了echo会出现如下警告:

Warning: Cannot modify header information – headers already sent by….

解决办法是将echo去掉即可。
此时访问 http://www.beitown.com/?p=420将会跳转到新的文章页面即http://www.beitown.com/coder/?p=420中去。

BeiTown
2012.12.21