使用附加参数将url重定向到html文件

时间:2017-11-15 09:23:26

标签: url redirect nginx url-rewriting

我在serverfault.com上问过这个问题,但我没有得到完整答案。

我需要将请求的网址重定向到文件系统上的html文件。我已经知道了答案:

location /this/is/some/url {
    index file.html;
    alias /path/to/the/;
}

文件系统上file.html的位置是/path/to/the/file.html。

但是,我还需要在网址/this/is/some/url的末尾附加一个空参数。所以看起来应该是/this/is/some/url?_escaped_fragment_=

我尝试了重写的各种例子,但没有用,因为我没有正确使用。

1 个答案:

答案 0 :(得分:1)

除非存在参数,否则您需要进行重定向。因为它是一个空参数,所以在$request_uri上使用正则表达式可能最简单。

location /this/is/some/url {
    index file.html;
    alias /path/to/the;

    if ($request_uri !~ [?].*\b_escaped_fragment_=) {
        return 302 $uri?_escaped_fragment_=&$args; 
    }
}

上面的示例假设可能存在其他参数,因此尾随&