如果静态文件不存在,则重定向到其他域

时间:2012-07-27 15:22:29

标签: url-rewriting nginx

我想配置nginx以便

  1. 请求的路径是静态文件,为其提供服务;
  2. 否则重定向外部域:http://example.net/
  3. 我明白我需要使用try_files指令,但我不明白如何实现回退机制。

1 个答案:

答案 0 :(得分:0)

经过多次测试后发现。如果未找到静态文件,则会在try_files的最后一个参数中定义。您可以将该参数设置为内部位置。在我的情况下,我使用

server {
    ...

    root    /srv/example.org/web/static;
    index   index.html;

    try_files $uri @redirect-to-dot-net;

    location @redirect-to-dot-net {
        rewrite ^ http://example.net redirect;
    }
}