gpt4 book ai didi

php - htaccess ErrorDocument 404重定向不起作用

转载 作者:行者123 更新时间:2023-12-03 07:48:11 26 4
gpt4 key购买 nike

请告诉我为什么这不起作用。它正在工作,但莫名其妙地决定停止工作。
在 php 中,如果找不到这样的页面,我会发出 404。

if(checkPageExists($escaped_url_page_name)){
header('HTTP/1.1: 200 OK');
}else{
header("HTTP/1.0 404 Not Found");
die;
}

我的 htaccess 是
php_flag magic_quotes_gpc Off

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

ErrorDocument 404 /404.php

404 页面位于根目录,名称为 404.php。五分钟前是这样,但什么都没有改变,为什么这行不通。我已经用 fiddler 测试了页面,它确实抛出了 404,但重定向没有发生。我实现了友好的 url,但我认为这不会影响它,因为 htaccess 中的“/”指的是我认为的站点的物理根目录。提前致谢。

最佳答案

我曾经遇到过类似的问题 - 当 PHP 抛出 404 header 时,Apache 通常不会为它创建 404 页面。 (编辑:这可能与 PHP 是否输出任何文本有关。我并没有真正尝试过。)如果您检查浏览器中的标题,您可以看到 404 标题有效,即使页面是空白的.

我不确定自动化解决方案,但我刚刚创建了 http_error($code)打印我的自定义错误页面并与 header() 一起调用的函数每当我的代码手动触发 404。然后我将一些代码绑定(bind)到 ErrorDocument调用 http_error只要:

ErrorDocument 404 index.php?http_error=404
ErrorDocument 403 index.php?http_error=403

...等等。

关于php - htaccess ErrorDocument 404重定向不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7663899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com