我目前在为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循环
感谢您的帮助
您不能使用内置的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。