Default error_page for multiple vhosts
Gregory Pakosz
guardian at planet-d.net
Fri Feb 22 12:00:45 UTC 2013
On 2/22/13 12:42 PM, Alexander Nestorov wrote:
> Example:
>
> It would be really usefull (in my particular case) to set error_page
> to some absolute path so that all server{}
> get error_page automatically. Then, if my domain 42 needs a custom
> error_page I could just add the error_page
> to that server{} and it will get overriden.
>
Alexander,
I think I achieved what you're after:
- default 403, 404 and 503 error pages in /usr/local/share/www/
- custom 404, 404 and 504 error pages for each vhost in $document_root/
Typically, a vhost in /etc/nginx/sites-available/some.domain.org
includes vhost.conf which includes errors.conf
Tell me if that helps.
Feedback from others appreciated!
Gregory
error.conf:
error_page 403 @403;
error_page 404 @404;
error_page 503 @503;
location @403 {
try_files /403.html @403_fallback;
}
location = /403.html {
if (-f $document_root/offline) {
error_page 503 @offline;
return 503;
}
return 404;
}
location @403_fallback {
root /usr/local/share/www;
try_files /403.html =403;
}
location @404 {
try_files /404.html @404_fallback;
}
location = /404.html {
if (-f $document_root/offline) {
error_page 503 @offline;
return 503;
}
return 404;
}
location @404_fallback {
root /usr/local/share/www;
try_files /404.html =404;
}
location @503 {
try_files /503.html @503_fallback;
}
location = /503.html {
if (-f $document_root/offline) {
error_page 503 @offline;
return 503;
}
return 404;
}
location @503_fallback {
root /usr/local/share/www;
try_files /50x.html =503;
}
---
offline.conf
location @offline {
try_files /offline.html @503;
}
location = /offline {
if (-f $document_root/offline) {
error_page 503 @offline;
return 503;
}
return 404;
}
location = /offline.html {
if (-f $document_root/offline) {
error_page 503 @offline;
return 503;
}
return 404;
}
----
vhost.conf
include errors.conf;
include offline.conf;
location / {
if (-f $document_root/offline) {
error_page 503 @offline;
return 503;
}
try_files $uri $uri/ /index.php;
}
--
___________________________________________________________________
IRCNet /msg guardian | guardian at planet-d.net | Twitter @planetdnews
More information about the nginx
mailing list