カスタムApache 404ページ


15

Ubuntu上のApache Webサーバーの404ページを一般的なもの以外にカスタマイズしたい:

Not Found

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

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

どうすればこれを達成できますか?


回答:


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

/ pathtofileを、ファイル.htaccessと同じフォルダーにある404ページのファイル名に置き換えます。カスタム404ファイルは、PHPまたはHTMLで作成できます。次のようにHTMLを追加することもできます。

ErrorDocument 404 '<h1> 404が見つかりません</ h1>'

Apache Serverをリロードする必要はありません!終わった。それをテストします。

ソース-Subinのブログ


1
これには、apacheの「AllowOverride」設定をオンにする必要がありますが、これはUbuntuのデフォルトではありません。
ニモ

これは私のために働いた
-SimplySimon

0

404カスタマイズ(ここではまだ説明していません)の1つは、VPS Ubuntuの404ページをサイトのホームページなどの別のページにリダイレクトすることです。

これを行うに.htaccessは、Webルートで呼び出されるファイルを作成し、次の行をその中に入れます。

ErrorDocument 404 http://www.yoursite.com

次に、ファイルを保存します。

これにより、404ページが指定されたURLにリダイレクトされます。


0

私の知る限り、Apache 2.4のデフォルトのエラーメッセージは簡単にカスタマイズできませんapache2。これらのメッセージは実行可能ファイル内にあるためです。

ただし、「ErrorDocument」ディレクティブを使用してそれらをオーバーライドすることもできます。このディレクティブはでも使用できますapache2.conf

さらに良い方法はInclude、in apache2.confを使用して、オーバーライドされたメッセージを1つの別個のファイルに収集することです。

Apache 2.4のドキュメントも参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.