如果location = something,nginix会更改根目录

时间:2016-04-15 14:30:17

标签: nginx

大家好我需要一点帮助,有nginx配置。 所以我的问题是我不想在我的网站根目录中拥有phpmyadmin。 现在我的nginx.conf看起来:

server {
   listen 80;
   server_name 192.168.21.177;
   charset utf-8;

   access_log /dev/null main;
   error_log /dev/null;

   root /home/web/wesite1;

    location / {
        index index.php;
    }   
    location /phpmyadmin/ {
       root /home/web/phpmyadmin;
       index index.php;
   }

   location ~ \.php$ {
       include fastcgi_params;
   }

   location ~ /\.ht {
       deny all;
   }
}

但它没有用。 谢谢:))

1 个答案:

答案 0 :(得分:0)

使用嵌套的location块来运行来自不同文档根目录的PHP脚本。

location ^~ /phpmyadmin/ {
    root /home/web;
    index index.php;

    location ~ \.php$ {
        include fastcgi_params;
    }
}
location ~ \.php$ {
    include fastcgi_params;
}

所以你有两个location ~ \.php$块,每个文档根一个。

注意:我认为root应该在/home/web块中location ^~ /phpmyadmin/,它将指向位于/home/web/phpmyadmin/的文件,作为文档根目录和URI是连接的,/phpmyadmin已经是URI的一部分。

请参阅this document了解位置语法。