【问题标题】:Nginx, nuxt.js static generated mode and redirection of trailing slashsNginx、nuxt.js 静态生成模式和尾部斜杠重定向
【发布时间】:2020-07-03 19:40:00
【问题描述】:

我目前在为 nuxt.js 生成的站点正确配置 Nginx 时遇到问题。 我想要实现的是以下

/magazin -> /magazin/index.html
/magazin/ -> 301 /magazin

/magazin/artikel/titel-goes-here -> /magazin/artikel/titel-goes-here/index.html
/magazin/artikel/titel-goes-here/ -> 301 /magazin/artikel/titel-goes-here

目前情况正好相反。

如果我是正确的,我不应该使用代理传递给例如pm2 实例与 express 等,因为它破坏了静态站点生成的感觉。

但是我如何才能让这个页面结构正常工作,因为出于 SEO 的原因,我需要与我们的旧服务相同的 url,它使用了 Angular Universal SSR

我目前的配置是:

location ^~ /magazin {
   root /path/to/dist;
   index index.html ;
}

如果我添加类似的东西

rewrite ^(.+)/+$ $1 permanent; 

我得到一个无限的 301 循环

感谢您的帮助

【问题讨论】:

    标签: nginx nuxt.js server-side-rendering


    【解决方案1】:

    您不能使用内置的 index 指令,因为它的工作方式相反(正如您所观察到的)。

    您可以使用try_files 来测试index.html 文件是否存在。使用命名location 来处理重定向。

    例如:

    location ^~ /magazin {
        root /path/to/dist;
        try_files $uri $uri/index.html @rewrite;
    }
    location @rewrite {
        rewrite ^(.+)/$ $1 permanent;
    }
    

    详情请见this document

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-29
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 1970-01-01
      相关资源
      最近更新 更多