自定义 Apache 404 页面

自定义 Apache 404 页面

我想将 Ubuntu 上的 Apache Web 服务器的 404 页面自定义为其他内容:

Not Found

The requested URL /***** was not found on this server.
______________________________________________________

Apache/*.*.** (Ubuntu) Server at **** Port 80

如何实现这一点?

答案1

我自己找到了答案。

您必须编辑文件 /etc/apache2/conf.d/localized-error-pages

sudoedit /etc/apache2/conf.d/localized-error-pages

您可以输入纯文本或链接到脚本或 html

答案2

<VirtualHost 192.168.0.1:80>
    ServerAdmin [email protected]
    ServerName host.ru
    ServerAlias www.host.ru
    DocumentRoot /home/WebServer/www/host.ru/public_html/
    ErrorLog /home/WebServer/www/host.ru/logs/error.log
    CustomLog /home/WebServer/www/hostu/logs/access.log combined


    Alias /error_html/ "/home/WebServer/www/host/error_html/"
    <Directory "/home/WebServer/www/host.ru/error_html">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority en cs de es fr it nl sv pt-br ro
        ForceLanguagePriority Prefer Fallback
    </Directory>
    ErrorDocument 404 /error_html/HTTP_NOT_FOUND.html
</VirtualHost>

答案3

这是一个解决方案。希望对您有所帮助。

演示

转到您的站点的文件夹。

创建名为.htaccess(只是.htaccess没有名称,只有文件扩展名)。

打开文件并添加该行。

错误文档 404/文件路径

代替/文件路径您的 404 页面文件名应位于与文件相同的文件夹中.htaccess. 定制404文件可以是 PHP 或 HTML。您也可以像这样向其中添加 HTML:

错误文档 404“<h1>404 未找到</h1>”

您不必重新加载 Apache 服务器!它已完成。测试一下。

来源 -Subin 的博客

答案4

据我所知,您无法以任何简单的方式自定义 Apache 2.4 的默认错误消息,因为这些消息位于apache2可执行文件内部。

但是,您可以使用“ErrorDocument”指令覆盖它们,该指令也可以在中使用apache2.conf

更好的方法是使用Includeapache2.conf在一个单独的文件中收集被覆盖的消息。

另请参阅Apache 2.4 文档

相关内容