alias, regex and try_files am i doing it wrong, or is this a bug?
Maxim Dounin
mdounin at mdounin.ru
Fri Jan 13 12:52:18 UTC 2012
Hello!
On Thu, Jan 12, 2012 at 11:36:41PM -0500, takigama wrote:
> Ok, i was trying to do drupal as a subdirectory on my site, but i've hit
> a problem and I think its a bug. Im using 10.04 ubuntu, the nginx ppa
> with 1.0.11 nginx.
>
> If i have the following config's and i try to retrieve the file
> http://mysite/drupal/somefile:
>
> location ~ /drupal(.*) {
> index index.php;
> alias /local_config/$1;
> try_files $uri @drupalrewrite;
> }
>
> The file nginx is apparently trying retrieve
> "/local_config//somefile/drupal/somefile" rather then
> "/local_config//somefile", which leads me to believe $uri isnt being set
> correctly by nginx.
Yes, this looks like a bug for me.
(Internally, the problem is a bit complex, and I event tend to
think that behaviour of try_files with alias in a regexp location
is inherently undefined, but the example above should certainly
work as expected.)
> If instead, i have this as a config:
>
> location /drupal/ {
> index index.php;
> alias /local_config/;
> try_files $uri @drupalrewrite;
> }
>
> it does the right thing, and try files will attempt to get
> "/local_config/somefile", so im really confused as to why it happens.
This works as expected.
The difference is that in a regexp location the "alias" directive
specifies full path to a file to use, and try_files isn't
currently able to handle this.
Maxim Dounin
More information about the nginx
mailing list