首页 > 解决方案 > 如果在配置中指定了特定的 query_string,Nginx 会更改根目录

问题描述

query_string如果配置中给出了具体的,我想更改根目录,

server {
listen 80;
server_name www.test.com;

if ( $query_string = "abc") {
    set $variable "abc";
    }
if ( $query_string = "def") {
    set $variable "def";
    }

if ( $query_string = "") {
    set $variable "";
    }

set $site_root /var/data/www/$variable;

如果我点击 url http://www.test.com/?abc,那么它应该将 root 指向这个目录/var/data/www/abc,如果我点击这个 url , http://www.test.com/def?root 应该是/var/data/www/def,如果没有query_string通过,那么 root dir/var/data/www实际上应该指向没有query_string条件。

知道我该怎么做吗?

标签: nginxnginx-config

解决方案


我在问题中提到的配置是正确的,只是 css 没有从上面的 web 根目录加载,所以我为 css 添加了这个配置来解决问题,

location ~* /(css)/ {
    root  /var/data/www/$variable;
    }

推荐阅读