我需要使用 nginx 将整个目录的内容 301 重定向到另一个目录。虽然我的配置有效,但不幸的是它也会暴露端口号。我猜现在这是一个副作用,因为特定域的入站流量通过 HAProxy ACL 规则处理到 8000 端口,而 URL 本身是端口 80。
这是我的 nginx 配置:
server {
listen 8000;
port_in_redirect off;
location ~* ^/data/dir1/(.*)$ {
return 301 /data/dir2/$1;
}
...
它从以下 URL 重定向:
域名.com/data/dir1/...
到:
domain.com:8000/data/dir2/...
我怎样才能摆脱 URL 重定向中的 8000?
我的 tmp 解决方法是将 :80 放入重定向,但我担心这会影响 google 列出的 URL,因为它包含端口号。
答案1
您可以尝试以下方法吗:
server {
listen 8000;
location ~* ^/data/dir1/(.*)$ {
return 301 http://example.com/data/dir2/$1;
}