我有一个Nginx虚拟主机的配置如下:
...
location /one {
include uwsgi_params;
uwsgi_pass unix:///.../one.sock;
}
location /two {
include uwsgi_params;
uwsgi_pass unix:///.../two.sock
}
...
当然这只是一个简化的配置
当我请求/one/something
时,我希望我的Python脚本将/something
作为request_uri
接收。
我正在使用BottlePy,但希望Nginx处理此请求而不是由我的Python代码处理。
我可以做类似于 uwsgi_param REQUEST_URI replace($request_uri, '^/one', '')
这样的操作吗?
编辑
这里是来自我的Python代码的请求:
[pid: 30052|app: 0|req: 1/1] () {42 vars in 844 bytes} [Tue Aug 21 14:22:07 2012] GET /one/something => generated 0 bytes in 4 msecs (HTTP/1.1 200) 2 headers in 85 bytes (0 switches on core 0)
因此Python没问题,但uWSGI有问题。
如何解决呢?
rewrite /one/?(.*)$ /$1 break;
,那么路由https://<hostname>/one
(没有尾随的/
)也将起作用。 - netzego/one
和/one/
都不是有效的URL,为什么要允许它呢?他们想要接收之后的/something
。我不知道,只是在思考我的应用程序。 - ArtOfWarfare