我正在使用Nginx(除其他外)在我的本地计算机上充当Subsonic的代理(即Nginx有proxy_pass
设置来重定向指向subsonic.mydomain.com
的所有流量朝着localhost:4040
)。
在没有任何GET参数(/home.view
)的情况下访问主视图时,Subsonic会显示Random页面,其中包含来自我的库的随机相册。单击指向/home.view?listType=newest
的链接可以访问最近添加的页面,但我希望它是默认的,不会弄乱Subsonic的代码,因为这会在更新Subsonic时中断。
使用简单的rewrite
似乎不是一个解决方案,因为重写只考虑URI,而没有GET参数。因此,将^/home.view$
重写为/home.view?listType=newest
将始终显示最近添加的页面,即使我请求其他页面也是如此。
我想添加listType
参数,只要它在请求中不存在,或者添加它以使其被请求中的值覆盖(如果存在)。有没有办法在Nginx中做到这一点?
非常感谢!
答案 0 :(得分:0)
location /home.view {
if ( $arg_listType = '') {
rewrite ^ /home.view?listType=newest last;
}
proxy_pass ....
....
}
答案 1 :(得分:0)
我使用与this question类似的东西解决了它,即将变量设置为0,然后在参数存在时将其设置为1,最后在变量仍为0时重写。