another rewrite/try files issue
brianmercer
nginx-forum at nginx.us
Mon May 23 02:06:01 MSD 2011
Stelianos G. Sfakianakis Wrote:
-------------------------------------------------------
> Hello,
>
> I am having the following problem:
>
> - I want to have a "virtual" url e.g. "/myapp" to
> have a totally
> different document root e.g. "/home/stelios/myapp"
> (instead of the
> default '/var/www')
> - locations of the type "/myapp/css/print.css"
> should respond with
> the specific file at the "/home/stelios/myapp"
> root (i.e. with
> "/home/stelios/myapp/css/print.css"
> - if the the file requested does not exist, then
> the "index.php"
> should be called via FastCGI with args "?u=$uri"
> (e.g.
> "/myapp/users/12" should be rewritten to
> "/home/stelios/myapp/index.php?u=users/12")
>
> I have tried the following:
>
> location ~ /myapp/(.*) {
> root /home/stelios/myapp;
> try_files /$1 /$1/
> /index.php?u=$1;
> }
> # and the "default" PHP/FastCGI
> location ~ \.php$ {
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_FILENAME
> $document_root$fastcgi_script_name;
> include fastcgi_params;
> }
>
>
> but it seems that it doesn't work for the non
> files. In particular it
> seems that after the internal redirect to
> index.php, the root is
> overwritten and instead of calling my
> /home/stelios/myapp/index.php
> the one at the default root ("/var/www/index.php")
> is beeing called.
>
> Do you know what's wrong? And possibl another way
> to achieve what I want?
>
> Thank you very much in advance!
>
> P.S. I am using nginx-0.8.4 on Ubuntu
>
> St.
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
Possibly this:
location /myapp/ {
root /home/stelios;
try_files $uri @fallback;
}
# and the "default" PHP/FastCGI
location @fallback {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /home/stelios/myapp/index.php;
include fastcgi_params;
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,199965,199970#msg-199970
More information about the nginx
mailing list