我有一个代码
<?php
header('Location: http://mydomain/404', true, 404);
exit;
?>
什么也没做。输出带有白色屏幕,我可以观看404响应状态,但没有重定向。 Ubuntu 12.04 / PHP 5.3
使用Debian Squeeze / PHP 5.3的服务器上的相同问题
我做错了什么?
更新
它是获取状态和路径的功能的一部分。 我需要重定向到具有指定状态代码的指定页面。 不直接显示404页面。
答案 0 :(得分:8)
您不能拥有404的位置重定向。正确的行为是在404结果中包含404页面。
<?
header( $_SERVER['SERVER_PROTOCOL']." 404 Not Found", true, 404 );
include('404.php');
?>
这是除非404页面在另一个域上。在这种情况下,您可以简单地使用位置重定向而不像404那样默认情况下无法找到您的错误文档。
答案 1 :(得分:4)
它是404 Not Found或302 Redirect,它不能同时出现。如果您想发信号通知此页面不存在,请使用404.如果要重定向用户,请使用302.
答案 2 :(得分:0)
通过.htaccess
执行此操作<IfModule mod_rewrite.c>
RewriteEngine On
ErrorDocument 404 /404.html
</IfModule>