Set Variable from Content of Text File?

Resicow resicow at gmail.com
Fri Jan 9 20:12:45 MSK 2009


Hi Nick,

Thanks for your response... I understand the response below, but I was 
hoping for a way of doing this by reading the contents of the text 
file... So something like this...

    if (-f $document_root/system/back_soon.txt) {

            set $file_to_load read /$document_root/system/back_soon.txt
            rewrite  ^(.*)$  $file_to_load last;
            break;

}

So if the file exists read and set a variable based on the contents of 
the file, and then rewrite to the variable path.

Thanks,

John





Nick Pearson wrote:
> John,
>
> See Ezra's response in the thread here:
> http://thread.gmane.org/gmane.comp.web.nginx.english/8978/focus=8990
>
> That explanation is just for a single downtime notice, but you can use 
> a variation of his solution to accomplish what you want.  For example:
>
> server {
>     ...
>     if (-f $document_root/system/back_soon.html) {
>         rewrite  ^(.*)$  /system/back_soon.html last;
>         break;
>     }
>     if (-f $document_root/system/down_for_a_while.html) {
>         rewrite  ^(.*)$  /system/down_for_a_while.html last;
>         break;
>     }
>     ...
> }
>
> This will show the back_soon.html page if it exists.  If it doesn't 
> exist and the down_for_a_while.html page does, then that will be 
> displayed.  Otherwise, processing will continue normally.
>
>
> On Thu, Jan 8, 2009 at 2:05 PM, Resicow <resicow at gmail.com 
> <mailto:resicow at gmail.com>> wrote:
>
>     Hello Nginx Community, and Happy New Year...
>
>     Is it possible to set the value of a variable based on the
>     contents of a text file?
>
>     So if there is site downtime, I can place a file in a directory
>     that nginx will see and will know to serve a downtime notice, but
>     then can nginx read the contents of the file to determine which
>     downtime notice to serve?
>
>     Thanks,
>
>     John
>
>






More information about the nginx mailing list