如何将 jwilder/nginx-proxy 下的 no-www 重定向到 www?

Cle*_*erk 4 nginx docker

我使用 nginx docker( https://github.com/jwilder/nginx-proxy ),但发现没有办法修改 .htaccess ,如此处所述( Nginx no-www 到 www 和 www 到 no-www )。谁能告诉我如何将上述 jwilder/nginx-proxy 下的 no-www 重定向到 www 。

Ada*_*ean 5

这可能有点晚了,但我发现这里的解决方案太无聊了,所以我adamkdean/redirectjwilder/nginx-proxy.

下面的示例仅显示了 HTTP,但如果您喜欢使用JrCs 提供的Letsencrypt-nginx-proxy配套服务,则可以将其连接到 HTTPS。

对于adamkdean/redirect,您只需提供两个环境变量,其中之一是重定向位置,之一是状态代码(可以是 301、302、303 或 307),默认值为 307(如果省略 REDIRECT_STATUS_CODE)。

version: '2'

services:
  nginx-proxy:
    image: jwilder/nginx-proxy
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro

  redirect:
    image: adamkdean/redirect
    environment:
      - VIRTUAL_HOST=example.com
      - REDIRECT_LOCATION="http://www.example.com"
      - REDIRECT_STATUS_CODE=301

  example:
    image: example
    environment:
      - VIRTUAL_HOST=www.example.com
Run Code Online (Sandbox Code Playgroud)

在这里找到存储库: https: //github.com/adamkdean/redirect