标签: errordocument

Apache Httpd 自定义 ErrorDocument 404 当 ProxyPass 返回 404 时

我在另一个应用程序服务器前面有一个 Apache Web 服务器,使用 Proxy Pass。当对应用程序的请求返回错误 404 时,我想显示来自 Web 服务器的自定义错误页面,而不是来自应用程序服务器的页面。我试图在虚拟主机上设置 ErrorDocument 404,但它不起作用。我该怎么做?或者这是不可能的?

<VirtualHost *:80>
  ServerName servername
  DocumentRoot /somepath/
  ProxyPass / http://localhost:8080/someapp/
  ProxyPassReverse / http://localhost:8080/someapp/

  ErrorDocument 404 /error.html
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

mod-proxy errordocument apache-2.2

10
推荐指数
1
解决办法
2万
查看次数

Apache:重定向 404 和 ErrorDocument 404 的区别

我想用 Apache 进行 404 重定向,我找到了几种解决方案:

  1. .htaccess 方法。但如果没有必要,我不想添加 .htaccess。

  2. 虚拟主机方法:

<VirtualHost *:80>
    ServerAlias *.example.com
    Redirect 404 /index.html
    ErrorDocument 404 /index.html
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我想知道 Redirect 404 和 ErrorDocument 404 有什么区别?

linux redirect errordocument http-status-code-404 apache-2.2

7
推荐指数
1
解决办法
4万
查看次数

NGINX 默认错误页面

我正在尝试为我的整个 nginx 服务器设置一个默认的 error_page(就像所有虚拟主机一样)。

我正在尝试使用以下代码:

http {
    ...
    ...
    error_page 404 /var/www/default/404.html;
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

另外,如果我没有明确编写另一个虚拟主机,我希望能够创建一个虚拟主机并使其使用默认的 404.html。

就像是:

server {
    ...
    server_name mydomain.com
    root /var/www/mydomain.com/;
    ...
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我收到以下错误:

[error] 16842#0: *1 open() "/var/www/mydomain.com/var/www/default/404.html" failed (2: No such file or directory)
Run Code Online (Sandbox Code Playgroud)

虽然我确实理解错误,并且我确实理解它为什么会发生,但我不明白为什么我不能告诉 NGINX 使用默认的 error_page 作为绝对路径而不是将它附加到我的 vhost 的根目录。

知道如何制作吗?

问候

nginx errordocument

7
推荐指数
1
解决办法
2万
查看次数

.htaccess 中的 ErrorDocument,是否可以使用相对路径?

这不起作用:

ErrorDocument 401 ../../src/wrong_pwd.php
Run Code Online (Sandbox Code Playgroud)

它将路径呈现为文本,它确实打印

../../src/wrong_pwd.php
Run Code Online (Sandbox Code Playgroud)

并且不输出真实文件。

如果我放置绝对路径,它将呈现/var/www/home (我真的不知道为什么,也许是 httpd.conf 中的内容?)

我怎样才能做到这一点?

.htaccess path errordocument apache-2.2

5
推荐指数
1
解决办法
7670
查看次数

如何让 Apache 在出现 400 错误且主机标头格式错误的情况下返回自定义页面?

我认为我所要求的有点难以理解,所以,我试图让它更简单......

当我的服务器收到带有格式错误的主机标头的请求时,我需要它有一个自定义的 400 错误页面。

我理想中想要的是 ErrorDocument 400 \somepage.php

我可以通过访问诸如 之类的页面来生成 400 个错误http:\\myserver\bla%bla,这将很好地转到我的脚本中。同样,我可以将该\somepage.php部分更改为Test textApache 将返回该文本。

但是,如果 400 错误是由格式错误的主机标头引起的,它将适用于文本而不是网页。

任何人都可以对此有所了解并在我松开所有头发之前提供可行的解决方案吗?!(已经为此失去了很多!)。

http web-server errordocument 400 apache-2.2

5
推荐指数
1
解决办法
2527
查看次数

将错误 400 错误请求重定向到自定义页面的问题

我已将我的.htaccess文件编辑为以下内容:

ErrorDocument 404 /index.php?page=page-not-found
ErrorDocument 400 /index.php?page=bad-request
Run Code Online (Sandbox Code Playgroud)

现在错误 404 正确重定向,但是如果我输入一个地址,例如http://example.com/%22%%5E$%%5E&%C2%A3&服务器不会重定向 400 错误,而是显示默认的 apache 消息。我究竟做错了什么?

.htaccess errordocument apache-2.2

4
推荐指数
1
解决办法
1万
查看次数

Apache ErrorDocument 指令不起作用

我无法获得适用于 400 Bad Request 的自定义错误文档。它是一个 CentOS LAMP 服务器。

ErrorDocument 400 /badrdoc.html
Run Code Online (Sandbox Code Playgroud)

我试过使用上面的:

  1. Apache http.conf
  2. Apache httpd-vhosts.conf(在每个虚拟主机中)
  3. .htaccess 在站点的根 htdocs 中

他们都没有工作。Apache 提供其默认的 400 Bad Request 页面。

任何人都可以对此有所了解吗?

编辑:忘了提及,我在更改后重新启动了 Apache。

centos errordocument apache-2.2

4
推荐指数
1
解决办法
7019
查看次数