Raj*_*K S 7 nginx single-page-application nginx-location
有人可以解释一下吗?
我有一个 nginx 服务器块,其中包含以下代码片段:
location / {
try_files $uri $uri/ /index.html;
}
Run Code Online (Sandbox Code Playgroud)
基本上,我用它来提供 Angular SPA。它运作良好且很棒。
现在我想将Access-Control-Allow-Origin标头附加到响应中。所以我像这样改变了块:
location / {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Max-Age' 1728000;
return 204;
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*';
}
try_files $uri $uri/ /index.html;
}
Run Code Online (Sandbox Code Playgroud)
现在,每当我访问时,http://<application>.com我都会获得该页面,并且能够导航到http://<application>.com/some-page. 但是如果我直接尝试访问http://<application>.com/some-page,我会得到 nginx 404。以前不是这样的。如果我注释掉if的声明GET,事情就会恢复正常。
为什么?这里的声明有什么区别if?
| 归档时间: |
|
| 查看次数: |
2565 次 |
| 最近记录: |