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

AltStyle によって変換されたページ (->オリジナル) /