0

我的根目录中有一个自定义的 404 错误页面。

我也编辑了我的 .httaccess 文件。

现在我想重定向到我的自定义 404 页面,如果我的页面中某些条件失败。

例如 $_SESSION[log]==1 失败。所以我的问题是

1.我应该在php中使用什么代码来做到这一点?

2.我如何犯其他类型的错误,如401和许多其他类型的错误?

在我的 .httaccess 页面中,我有这些行

ErrorDocument 404 http://mydomain.com/404custom.php

而且我有一个 404custom.php 根据我的需要设计..简单的 HTML 页面...

4

2 回答 2

2

不要在错误情况下发送 Location 标头。而是发送正确的状态代码。您必须根据 http 规范发送正确的状态码。

header("HTTP/1.0 404 Not Found");

为了显示正确的自定义站点,您已经在 .htaccess 文件中有 ErrorDocument 语句。

特别是对于 403 未授权错误,发送正确的状态码很重要,这样浏览器才能做出准确的反应。

于 2013-04-24T16:14:13.097 回答
1

1-要重定向您的用户,您可以使用:

<?php
   header('Location: http://www.example.com/404.html');
?>

header()但是在使用没有echo甚至没有空格之前,您不能发送任何数据。

2- 对于其他错误:

ErrorDocument 400 /var/www/errors/index.html
ErrorDocument 401 /var/www/errors/index.html
ErrorDocument 403 /var/www/errors/index.html
ErrorDocument 404 /var/www/errors/index.html
ErrorDocument 500 /var/www/errors/index.html
于 2013-04-24T15:48:48.617 回答