对于以下情况,是否有人有代码可以放入某个地方的Nginx块中。
我让我们的网站通过 Cloudflare (url.com),但他们不支持超过 150mb 的上传,我们有高达 300mb 的上传。他们的解决方案是创建一个未启用Cloudflare的子域(upload.url.com 并将其用于上传。我这样做了,没问题,并通过上传 URL 硬编码了指向上传页面的链接。现在的问题是,我的网站有链接,这些链接只是"/page",它通过 upload.url.com/page,是否有办法在 Nginx 块中设置它,以便任何 upload.url.com 只能在我希望它访问的上传页面上工作,如果他们点击回到网站的任何其他部分,它将确保它通过"url.com"加载该页面?
server {
server_name "upload.example.com";
location ^~ /page {
return 301 http://example.com$uri;
}
}
或者,如果您的所有上传页面都可以通过URL中的特定部分进行识别。
server {
server_name "upload.example.com";
location / {
location ~* "^(?!.*?upload).*$" {
return 301 http://example.com$uri;
}
}
}
或者,如果您只有一个有效位置。
server {
server_name "upload.example.com";
location = /upload-script {
# Code to process upload
}
# Redirect anything else!
location / {
return 301 http://example.com$uri;
}
}
不确定我是否正确得到了您想要的内容,您想将任何不是根目录的 URI 重定向到主域,请尝试此操作
server {
server_name upload.example.com;
location = / {
#pass to the upload script;
}
location / {
# redirect to the main domain
return 301 http://example.com$request_uri$is_args$query_string;
}
}