Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url rewriting 如果静态文件不存在,则重定向到其他域_Url Rewriting_Nginx - Fatal编程技术网

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

Url rewriting 如果静态文件不存在,则重定向到其他域,url-rewriting,nginx,Url Rewriting,Nginx,我想配置nginx,以便 请求的路径是静态文件,请为其提供服务 否则重定向外部域:http://example.net/ 我知道我需要使用try\u files指令,但我不知道如何实现回退机制。经过多次测试后发现。如果未找到静态文件,将在try\u files的最后一个参数中定义。可以将该参数设置为内部位置。就我而言,我使用了 server { ... root /srv/example.org/web/static; index index.html;

我想配置nginx,以便

  • 请求的路径是静态文件,请为其提供服务
  • 否则重定向外部域:
    http://example.net/

  • 我知道我需要使用
    try\u files
    指令,但我不知道如何实现回退机制。

    经过多次测试后发现。如果未找到静态文件,将在
    try\u 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;
        }
    }