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

时间:2015-04-03 05:54:35

标签: redirect nginx rewrite

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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