问题描述
这是我第一次发帖。希望我能够彻底解释我的问题。
我有一个 Nginx 配置,可以将 my.domain.com/avocado 重定向到 my.domain.com/avocado/(末尾带有斜杠)。这也会在 /avocado 路径之后重定向子路径(以斜杠结尾),例如:
my.domain.com/avocado/banana --> my.domain.com/avocado/banana/ my.domain.com/avocado/banana/apple --> my.domain.com/avocado/banana/apple/
现在,我们注意到以“/--”作为最后一个子路径的 URL(例如:my.domain.com/avocado/banana/apple/--)没有正确重定向。它应该重定向到 my.domain.com/avocado/banana/apple/(在最后一个子路径上附加一个斜杠)
我认为这也是正则表达式的东西,但我不知道如何正确地做到这一点。你们会建议任何正则表达式吗?谢谢!
server {
server_name my.domain.com;
location /avocado {
resolver 10.1.0.2 valid=60s;
if ($http_x_forwarded_proto != "https") {
rewrite ^(.*)$ https://$server_name$1 permanent;
}
rewrite ^([^.]*[^/])$ https://$server_name$1/ permanent;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://$upstreamserver$request_uri;
}
}
解决方法
这是你的第一个问题,然后是我的第一个答案。
我有两种方法可以做到这一点。