1
2
3
<?php
	header("location:http://www.buicaa.com/");
?>

要求header前没有任何输出,否则会报错。

当我们以 ANSI 格式编码时(多数默认情况),可以正常实现PHP跳转。

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

有时我们需要在网页中事先判断跳转条件,如果符合则正常显示网页,而网页是以 UTF-8 格式编码,此时使用header则会报错。
原因是 UTF-8 编码在文本开始处偷偷地输出了三个字符(BOM),默认对我们不可见。因此不满足“header前没有任何输出”的条件,从而报错。

Notepad++ 编码格式

解决方法是使用Notepad++等文本编辑器打开文件,转为 UTF-8 无 BOM 编码格式,保存退出即可。

PHP header 默认302临时重定向,如需要使用301永久重定向,可使用以下代码。

1
2
3
4
<?php
	header("HTTP/1.1 301 Moved Permanently");
	header("Location: http://feitsui.net/");
?>

如果不关注HTTP状态,可以使用JavaScript实现跳转。

1
2
3
<script type="text/javascript">
	window.location.href="http://www.buicaa.com/";
</script>

本作品采用知识共享 署名-非商业性使用-相同方式共享 3.0 协议进行许可,欢迎转载。转载请保留署名(杯茶博客)及本文链接(http://www.buicaa.com/1003/),谢谢。

CC BY-NC-SA 3.0 Sitemap - Baidu-Sitemap