我目前在为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循环
感谢您的帮助
答案 0 :(得分: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。