Ubuntu上のApache Webサーバーの404ページを一般的なもの以外にカスタマイズしたい:
Not Found
The requested URL /***** was not found on this server.
______________________________________________________
Apache/*.*.** (Ubuntu) Server at **** Port 80
どうすればこれを達成できますか?
Ubuntu上のApache Webサーバーの404ページを一般的なもの以外にカスタマイズしたい:
Not Found
The requested URL /***** was not found on this server.
______________________________________________________
Apache/*.*.** (Ubuntu) Server at **** Port 80
どうすればこれを達成できますか?
回答:
<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>
これが解決策です。それが役に立てば幸い。
サイトのフォルダーに移動します。
.htaccessという名前のファイルを作成します(ちょうど.htaccessの名前のみのファイル拡張子のみ)。
ファイルを開き、行を追加します。
ErrorDocument 404 / pathtofile
/ pathtofileを、ファイル.htaccessと同じフォルダーにある404ページのファイル名に置き換えます。カスタム404ファイルは、PHPまたはHTMLで作成できます。次のようにHTMLを追加することもできます。
ErrorDocument 404 '<h1> 404が見つかりません</ h1>'
Apache Serverをリロードする必要はありません!終わった。それをテストします。
ソース-Subinのブログ
私の知る限り、Apache 2.4のデフォルトのエラーメッセージは簡単にカスタマイズできませんapache2
。これらのメッセージは実行可能ファイル内にあるためです。
ただし、「ErrorDocument」ディレクティブを使用してそれらをオーバーライドすることもできます。このディレクティブはでも使用できますapache2.conf
。
さらに良い方法はInclude
、in apache2.conf
を使用して、オーバーライドされたメッセージを1つの別個のファイルに収集することです。
Apache 2.4のドキュメントも参照してください。