Nginx 重写而无需重定向

Nginx 重写而无需重定向

我想要 urldomain.com/foo-111从目录加载内容/bar/111但不改变 url。

我创建了重写规则,但它没有加载正确目录的内容,而是 301 重定向到 domain.com/bar/111

我的服务器配置

server {
  listen 80;
  server_name domain.com;

  location / {
      root /var/www/domain.com;
      index index.html index.htm;
      rewrite ^/foo-(.*)$ /bar/$1 break;
      try_files $uri $uri/ =404;
  }
}

答案1

nginx正在尝试添加尾随/以将 URI 转换为目录规范的正确格式。/在您的目录中添加rewrite,这样就nginx不必这样做了。试试这个:

 rewrite ^/foo-(.*?)/?$ /bar/$1/ break;

相关内容