自定义Apache 404页面


15

我想自定义Ubuntu上Apache Web服务器的404页面,使其不同于常规页面:

Not Found

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

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

如何做到这一点?


Answers:


20

我自己找到了答案。

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

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

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


5
<VirtualHost 192.168.0.1:80>
    ServerAdmin admin@host.ru
    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没有名称扩展名)。

打开文件并添加行。

ErrorDocument 404 /路径文件

/ pathtofile替换为您的404页面文件名,该文件名应与.htaccess文件位于同一文件夹中。自定义404文件可以是PHP或HTML。您还可以像这样向其添加HTML:

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

您不必重新加载Apache Server!都结束了。测试一下。

来源-Subin的博客


1
这将需要启用apache中的“ AllowOverride”配置,这不是ubuntu中的默认设置。
Nemo 2013年

这对我
有用

0

一种404定制(此处尚未介绍)是将VPS Ubuntu中的404页面重定向到单独的页面,例如站点的主页。

为此,请.htaccess在网络根目录中创建一个名为的文件,并将以下行放入其中:

ErrorDocument 404 http://www.yoursite.com

然后保存文件。

这将使404页面重定向到指定的URL。


0

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

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

一个更好的方法可以用Includeapache2.conf和收集在一个单独的文件覆盖的消息。

另请参阅Apache 2.4文档

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.