Location regexp with multiple Wordpress install

Igor Sysoev igor at sysoev.ru
Wed Jun 1 14:09:49 MSD 2011


On Wed, Jun 01, 2011 at 05:59:30AM -0400, Amanager wrote:
> Hello,
> 
> I have a problem with my location rules.
> I would like to generate a generic location rule for each folder that
> contains a WordPress installation.
> 
> location / {
>         try_files $uri $uri/ /index.html;
> }
> 
> location /user1/ {
>        try_files $uri $uri/ /user1/index.php?q=$uri&$args;
> }
> 
> location ~* ^/(user2|user3)/ {
>         try_files $uri $uri/ /$1/index.php?q=$uri&$args;
> }
> 
> location ~ \.php$ {
>         fastcgi_pass 127.0.0.1:9000;
>         fastcgi_index index.php;
>         include fastcgi_params;
> }
> 
> If I go to localhost/user1/, I am redirected to the good Wordpress. But,
> if I go to localhost/user2/ my browser downloads a file containing the
> source code of index.php.
> How to get it working?

This is why I do not like regex locations - you have always to watch
over order of these locations. In this case you should place
"location ~ \.php$" before "location ~* ^/(user2|user3)/".
You will use only usual locations, you can place it in any order.


-- 
Igor Sysoev



More information about the nginx mailing list