使用 proxy_pass,我可以将 */ 重定向或代理到 */index.html

使用 proxy_pass,我可以将 */ 重定向或代理到 */index.html

我有一个托管在 上的网站my.web.server。这些文件托管在file.host/myfiles.我正在使用 Nginx 将域代理到文件主机。

配置文件内容如下:

server {
    listen 80;
    server_name my.web.server;

    location ^~ /cdn {      
        proxy_pass https://file.host/myfiles;
    }
}

这成功代理了进入目标文件主机的所有请求,但是如果输入index.htmla/或路由,我不会得到重定向。

我想实现的一个例子在这里:

my.web.server/cdn           => my.web.server/cdn/index.html
my.web.server/cdn/          => my.web.server/cdn/index.html
my.web.server/cdn/images    => my.web.server/cdn/images/index.html
my.web.server/cdn/images/   => my.web.server/cdn/images/index.html

my.web.server/cdn/**/       => my.web.server/cdn/**/index.html
my.web.server/cdn/**        => my.web.server/cdn/**/index.html

理想情况下,您不会index.html在 URL 中看到 ,它只会代理到该文件路径,但是如果不可能,将用户重定向到那里也可以。

相关内容