<div dir="ltr"><font color="#333399"><font>Thanks Francis for your insights. Your message has been a great help.<br><br>Despite what you said, I don't have any cache configured yet (low-traffic server) and the configuration I use requests authentification for all .php file but the 'thisfile.php'. On the other hand, the browser I use doesn't store any cache either.<br>

I'd like more than theory on that particular point...<br>I'm not a pro of cURL, never have been... I'm encountering some errors I am having a hard time understanding.<br><br>You are right about that include usage. I havent' eventhought about it. How stupid I can be sometimes.<br>

<br>I'll also follow your good advice on separating config/invocation of FastCGI and I'll clean up the 'global' inclusion.<br><br>What I didn't understand about the error is that placing a '~ \.php' catch-all PHP reges inside 'location = /thisfile.php' isn't allowed but is allowed inside 'location /thisfile.php'... Which is not more generic than the previous one.<br>

Tell me how many PHP files will match each one of the 'location' clauses.<br>I was excepting the same behavior regarding both those locations, either both generating an error or both silent... Which is not the case.<br>

<br>I'll consider the first 2 of your last 3 lines as a lack of understanding of the problem I was pointing at. *That* could have been insulting<br>In my opinion.<br></font></font></div><div class="gmail_extra"><br clear="all">

<div><font size="1"><span style="color:rgb(102,102,102)">---<br></span><b><span style="color:rgb(102,102,102)">B. R.</span></b><span style="color:rgb(102,102,102)"></span></font></div>
<br><br><div class="gmail_quote">On Sat, Dec 29, 2012 at 12:34 PM, Francis Daly <span dir="ltr"><<a href="mailto:francis@daoine.org" target="_blank">francis@daoine.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

On Thu, Dec 27, 2012 at 09:57:16AM -0500, B.R. wrote:<br>
<br>
Hi there,<br>
<br>
<a href="http://nginx.org/en/docs/http/request_processing.html" target="_blank">http://nginx.org/en/docs/http/request_processing.html</a> is probably useful<br>
to read.<br>
<br>
nginx has that one request is handled in one location. Having learned<br>
those rules, I find nginx.conf (relatively) easy to read.<br>
<div class="im"><br>
> I then tried to solve my problem with:<br>
><br>
> location /thisfile.php {<br>
>     auth_basic off;<br>
><br>
> # Start of *exact* copy<br>
>     location ~ \.php$ {<br>
>         FastCGI stuff here...<br>
>     }<br>
> # End of *exact* copy<br>
> }<br>
><br>
> location ~ \.php$ {<br>
>     FastCGI stuff here...<br>
> }<br>
><br>
> I don't like this solution because it makes me copying my FastCGI work.<br>
<br>
</div>I don't have a problem with copying the FastCGI stuff. I'd probably just<br>
use "include my-fastcgi-config" in two places and not worry about it.<br>
<br>
I don't like the solution above because it doesn't do what you want. It<br>
will ask for authentication when you request /thisfile.php.<br>
<div class="im"><br>
> What if one day I am to modify it? I'll probably forget there are 2 places<br>
> to check...<br>
<br>
</div>Either use an aid to remember, or don't repeat the things that are<br>
common to multiple places in the config file. You can use the nginx<br>
"include" directive; or you can use whatever macro processor you prefer<br>
to generated nginx.conf.<br>
<div class="im"><br>
> But it seems to work.<br>
<br>
</div>Test again. Use "curl" -- it doesn't tend to use a cache or hide things<br>
from you.<br>
<br>
> Any better idea?<br>
<div class="im"><br>
  location = /thisfile.php {<br>
    auth_basic off;<br>
</div>    include my-fastcgi-config;<br>
  }<br>
  location ~ \.php$ {<br>
    include my-fastcgi-config;<br>
  }<br>
<br>
But really I'd probably try to avoid the top-level regex location. And,<br>
depending on what else is involved, I might just "include fastcgi.conf"<br>
once at server level, and then "fastcgi_pass" in the locations where I<br>
want the request to be handled by the fastcgi server.<br>
<div class="im"><br>
> Another point:<br>
> If I set 'location = /thisfile.php' rather than 'location /thisfile.php',<br>
> Nginx insults me with 'nginx: [emerg] location "\.php$" cannot be inside<br>
> the exact location "/thisfile.php"' again. Bug or feature?<br>
<br>
</div>That nginx reports a dubious config? Feature.<br>
<br>
That you consider it an insult? Bug.<br>
<br>
In my opinion.<br>
<span class="HOEnZb"><font color="#888888"><br>
        f<br>
--<br>
Francis Daly        <a href="mailto:francis@daoine.org">francis@daoine.org</a><br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</font></span></blockquote></div><br></div>