我在设置 Magento 扩展的重定向时遇到问题。请求的 URL 是:
example.com/index.php/Cdiscount/Package/download/type/offers/filename/BMS_PREFIX_161d529d7c3ef4b5ae1dca92e2334de6/BMS_PREFIX_161d529d7c3ef4b5ae1dca92e2334de6.zip
但 nginx 应该返回:
example.com/index.php/Cdiscount/Package/download/type/offers/filename/BMS_PREFIX_161d529d7c3ef4b5ae1dca92e2334de6
反而。
BMS_PREFIX_
和之间的部分.zip
经常会发生变化,因此这可能应该会获取 offers/ 位置中的所有 .zip 文件请求。我不能 100% 确定文件名可以offers/filename/BMS_PREFIX...
配置为其他内容或根据请求进行更改,但我认为它不会改变。
所以基本上我需要告诉 Nginx 在example.com/path/
请求时进行回复example.com/path/path.zip
。
当前配置:
location / {
proxy_pass http://127.0.0.1:6081;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_hide_header X-Varnish;
proxy_hide_header Via;
proxy_hide_header Vary;
proxy_hide_header X-Server;
proxy_hide_header X-Backend-Server;
proxy_hide_header X-Frame-Options;
proxy_redirect off;
proxy_max_temp_file_size 0;
proxy_connect_timeout 7200;
proxy_send_timeout 7200;
proxy_read_timeout 7200;
proxy_buffer_size 256k;
proxy_buffers 4 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
}
答案1
也许你的意思是这样的
rewrite ^(/index\.php/Cdiscount/Package/download/type/offers/filename/BMS_PREFIX_)(.+?)/BMS_PREFIX_(.+).zip $1$2;
在语句之前添加以上行proxy_pass
。
笔记: