如何配置Nginx在特定cookie存在时更改根目录?

时间:2019-05-07 04:30:25

标签: nginx nginx-config

尝试配置我的站点,以在存在名为“ developer”的cookie变量时更改根目录。这是在Debian服务器上。

这是我当前的站点配置文件:

server {

    listen 80 default_server;
    listen [::]:80 default_server;

    root /sites/live/;

    if ($http_cookie ~ 'developer') {

        root /sites/dev/;
    }

    index index.php index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {

        try_files $uri $uri/ =404;
    }

    location ~ \.php$ { 
        try_files $uri =404; 
        include /etc/nginx/fastcgi.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
    } 

}

但这给了我这个错误:

nginx:[emerg]此处不允许使用“ root”指令

我该怎么办?谢谢!

1 个答案:

答案 0 :(得分:0)

在所需的位置和条件中添加根目录 以下是我的配置正常

location / {
    root /var/www/myside;
    index index.php;
    try_files $uri $uri/ /index.php$is_args$args;
}

如果不起作用,请使用重写规则