0

这是我的 nginx.conf:

if ($host ~ "^example.com$") {
    rewrite . /index.php last;
}

如何让 nginx 在不重写 url 的情况下在 /static/ 目录中提供文件?

4

1 回答 1

1

不知道为什么要测试$host. 区分主机名的常用方法是使用多个服务器块。有关详细信息,请参阅此文档

try_files指令用于首先检查静态文件是否存在,如果不存在则遵循默认操作:

server {
    ...

    root ...;

    location / {
        try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ { ... }
}

这适用于任何静态文件(不仅仅是目录中的/static文件)。有关详细信息,请参阅此文档

但是,如果您特别希望/static以不同方式处理目录,请使用带有^~修饰符的前缀位置:

location ^~ /static { }

有关详细信息,请参阅此文档

于 2016-03-25T13:56:49.963 回答