这里的交易:我设置了最简单的nginx配置来练习角度,我配置了routeProvider来使用html5mode。到现在为止还挺好!我将基数设置为' /',我的/ view1和/ view2的链接工作正常,但只有当我在索引页面中单击这些链接时才能正常工作。当我尝试直接在浏览器中访问它们(或重新加载页面)时,nginx返回403禁止。这是一个简单的配置,但我找不到一个简单的解释:(
我希望以任何路由正常工作的方式进行设置,而无需在我的nginx site.conf中明确设置它(逐个)。顺便说一句,权限很好!
这是实际的配置文件:
server {
listen *:80;
server_name rbs.ang;
root /_dev/angularjs/app;
index index.html;
charset UTF-8;
location / {
expires -1;
add_header Pragma "no-cache";
add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
try_files $uri $uri/ index.html;
}
}
答案 0 :(得分:1)
您需要在服务器上配置后备路由,以在路由不匹配时提供index.html文件。 这有效:
location / {
try_files $uri $uri/ /index.html?$query_string;
}