default page
Igor Sysoev
is at rambler-co.ru
Tue Jul 1 17:50:23 MSD 2008
On Tue, Jul 01, 2008 at 10:27:45AM -0300, Marcos Neves wrote:
> My current solution works:
>
> location = /favicon.ico {
> if (!-f $request_filename) {
> rewrite ^.*$ /favicon.ico.default;
> }
> }
> location = /favicon.ico.default {
> internal;
> alias html/favicon.ico;
> break;
> }
>
> but would be nice if possible to do this:
>
>
> location = /favicon.ico {
> if (!-f $request_filename) {
> alias html/favicon.ico;
> break;
> }
>
> But alias can?t be used inside an if. Why that?
This is internal problem. You may try
location = /favicon.ico {
if (!-f $request_filename) {
root html;
break;
}
}
but anyway, "if (!-f $request_filename)" is ugly contruction.
> On Tue, Jul 1, 2008 at 10:15 AM, Igor Sysoev <is at rambler-co.ru> wrote:
> > On Tue, Jul 01, 2008 at 05:09:33PM +0400, Maxim Dounin wrote:
> >
> >> Hello!
> >>
> >> On Tue, Jul 01, 2008 at 08:03:23AM -0300, Marcos Neves wrote:
> >>
> >> >your solution is DRY, but I?m not sure if it?s right to send a 404 code,
> >> >is it?
> >>
> >> Feel free to use
> >>
> >> error_page 404 = html/favicon.ico;
> >>
> >> instead (note the '=').
> >>
> >> See http://wiki.codemongers.com/NginxHttpCoreModule#error_page for
> >> details.
> >
> > No, html/favicon.ico will not work. It should be redirected to something like
> > /html/favicon.ico, and then some location /html/... should be described.
> >
> >> Maxim Dounin
> >>
> >> >
> >> >On Mon, Jun 30, 2008 at 5:24 PM, Cliff Wells <cliff at develix.com> wrote:
> >> >>On Mon, 2008-06-30 at 17:16 -0300, Marcos Neves wrote:
> >> >>>I?m doing this to show a default favicon.ico, when the site doesn?t have
> >> >>>one:
> >> >>>
> >> >>> location = /favicon.ico {
> >> >>> if (!-f $request_filename) {
> >> >>> rewrite ^.*$ /favicon.ico.default;
> >> >>> }
> >> >>> }
> >> >>> location = /favicon.ico.default {
> >> >>> internal;
> >> >>> alias html/favicon.ico;
> >> >>> break;
> >> >>> }
> >> >>>
> >> >>>But I think it?s to ugly and far from DRY.
> >> >>>Is there any way to short this code?
> >> >>
> >> >>Not sure how "DRY" applies in this context...
> >> >>
> >> >>What you probably want is something like this:
> >> >>
> >> >>location = /favicon.ico {
> >> >> error_page 404 html/favicon.ico;
> >> >>}
> >> >>
> >> >>Cliff
> >> >>
> >> >>
> >> >>
> >> >>
> >> >
> >> >
> >> >
> >> >--
> >> >Marcos Neves
> >> >+55 44 3263-8132
> >> >+55 44 9918-8488
> >> >
> >
> > --
> > Igor Sysoev
> > http://sysoev.ru/en/
> >
> >
>
>
>
> --
> Marcos Neves
> +55 44 3263-8132
> +55 44 9918-8488
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list