我有一个单页应用程序(SPA),我想配置nginx来执行任何请求重定向到index.html根文件。
这是我的配置
root /my-company/my-websites
location /my-spa {
alias /my-company/my-websites/my-spa;
}
location /my-another-website {
alias /my-company/my-websites/my-another-website;
}
如果我打开www.mywebsite.com/my-spa,服务器会回复我的SPA。没关系。 如果我打开www.mywebsite.com/my-spa/other/other,服务器会响应404错误。
我希望服务器始终响应我的SPA,无论输入的是什么网址。
我想尝试这样的事情:
root /my-company/my-websites
# I inserted regex here
location ^/my-spa/(.+)$ {
alias /my-company/my-websites/my-spa;
}
location /my-another-path {
alias /my-company/my-websites/my-another-website;
}
注意:文件夹/ my-company / my-websites / my-spa有一个index.html文件。
我希望你理解我的问题,谢谢!!
答案 0 :(得分:0)
您可以使用try_files
指令来实现此目的。
try_files
将首先尝试解决此问题。如果不渲染index.html
。
location /my-spa {
alias /my-company/my-websites/my-spa;
try_files $uri /my-company/my-websites/my-spa/index.html =404;
}