本篇要來說說 Error Page 的部分,也不會很難。
首先可以先建一個資料夾來放你的 error page 頁面,像是我就放在 /var/www/ 底下。
sudo mkdir -p /var/www/errors
error 這個資料夾內就可以放你要的 error page 了,e.g., 403.html、404.html、500.html 等等。記得也要改權限!
sudo chown -R www-data:www-data errors/
接下來來到 Apache2 設定檔的部分,檔案位於 /etc/apache2/conf-available 的 localized-error-pages.conf。
sudo vim /etc/apache2/conf-available/localized-error-pages.conf
很多為註解,可以先不去理會並新增以下範例,全域錯誤頁有什麼新增什麼。
# 全域提供你自訂錯誤頁的可公開路徑
Alias /errors/ "/var/www/errors/"
<Directory "/var/www/errors">
Options -Indexes
Require all granted
</Directory>
# 全域錯誤頁
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
ErrorDocument 502 /errors/502.html
ErrorDocument 503 /errors/503.html
其餘沒設定 error page 可以直接 使用 example。
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
ErrorDocument 400 "400"
ErrorDocument 401 "401"
ErrorDocument 501 "501"
ErrorDocument 504 "504"
完成大概會像這樣
# Some examples:
ErrorDocument 400 "400"
ErrorDocument 401 "401"
ErrorDocument 501 "501"
ErrorDocument 504 "504"
# 全域提供你自訂錯誤頁的可公開路徑
Alias /errors/ "/var/www/errors/"
<Directory "/var/www/errors">
Options -Indexes
Require all granted
</Directory>
# 全域錯誤頁
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
ErrorDocument 502 /errors/502.html
ErrorDocument 503 /errors/503.html
像是我的 dev.luckyfish.app 就有設定 403 error page。
