NGINX:子文件夹到子域重定向不起作用

NGINX: subfolder to subdomain redirection doesn't work

昨天我将网站切换到新服务器。现在我有一个问题,因为我现在 运行 作为子域的一个域以前是作为子文件夹访问的,一些我无法访问的站点仍在使用该域。com/subfolder/ ?some=参数

所以,长话短说: 我需要更新我的 nginx 配置文件,以将我的用户从域重定向。com/subfolder/?some=parameters 到 subfolder.domain.com/?some=parameters

我昨天搜索了该问题的解决方案,但无法解决问题。

目前我的 conf 文件中有这个:

location /subfolder/ {
    rewrite ^/subfolder(/.*)$ http://subfolder.domain.com permanent;
}

这显然会将来自域的所有请求重定向。com/subfolder/?some=parameters 到 subfolder.domain.com/?some=parameters,但将请求重定向到域。com/subfolder/styles.css 未重定向。

我认为这是由于您的 nginx 配置中特定静态文件扩展名的位置指令冲突所致。通过使用影响优先级的正则表达式,我能够使您的规则生效。

location ~ /subfolder/.* {
    rewrite ^/subfolder(/.*)$ http://subfolder.domain.com permanent;
}

查看有关 location 指令的详细信息,尤其是有关优先级的规则和示例。