Nginx,nuxt.js静态生成的模式和尾部斜杠的重定向

问题描述 投票:2回答:1

我目前在为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

当前是另一种方式。

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

但是我如何使此页面结构正常工作,因为出于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个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.