首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP 404不使用.htaccess?

PHP 404不使用.htaccess?
EN

Stack Overflow用户
提问于 2014-11-21 05:20:50
回答 1查看 1.5K关注 0票数 0

为什么header('HTTP/1.0 404 Not Found')不能工作当我在.htaccess RewriteRule ^([a-zA-Z0-9\-]+)/?$ index.php?url=$1 [L,QSA]中有这一行时

我如何使它工作,以便我可以保持RewriteRule ^([a-zA-Z0-9\-]+)/?$ index.php?url=$1 [L,QSA] -也许在这一行有一个错误?

而且,即使我删除了它,header('HTTP/1.0 404 Not Found')也只是在浏览器上显示404.php,而不是指向404.php并在该文档中显示错误消息。

下面是我的代码和文件。它们都在根中进行测试。

index.php,

代码语言:javascript
复制
header('HTTP/1.0 404 Not Found');
exit();

404.php,

代码语言:javascript
复制
echo "<h1>404 Not Found</h1>";
echo "The page that you have requested could not be found.";

.htaccess,

代码语言:javascript
复制
RewriteEngine on

RewriteRule ^([a-zA-Z0-9\-]+)/?$  index.php?url=$1 [L,QSA]

ErrorDocument 404 404.php

有什么想法吗?

编辑:

代码语言:javascript
复制
ErrorDocument 404 /404.php

我知道这个错误,

在此服务器上找不到请求的URL /mywebsite/xxx/xxx/。 此外,在试图使用ErrorDocument处理请求时遇到了一个404未找到的错误。

它仍然没有指向404.php

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-21 07:16:48

如果您看一下ErrorDocument指令的文档,它需要绝对的URL路径,所以它以"/“或”https://"“开头,否则,它将第二个参数解释为消息

这与以下情况相同:

代码语言:javascript
复制
ErrorDocument 404 Wildcard!

如果有人收到404错误,他们会在浏览器中看到“通配符!”。

您需要将其更改为URL路径,如/404.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27054617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档