我们在移动客户端的nginx上托管了一个角度应用程序 . 所有路由都由角度代码处理 . 因此没有子目录等 . 因此路径作为参数传递给角度文件,即“index_angular.html”,angular负责其余部分 . 坐着工作并通过菜单项导航工作 . 但是一旦我进入菜单项然后刷新页面,它就会返回404错误 . 这是nginx conf:
server {
listen 80;
root /apps/angular;
server_name angular.com;
location / {
add_header 'Access-Control-Allow-Origin' 'http://angular.com';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS';
index index.php;
if ($http_user_agent ~* '(iPhone|iPod|android|blackberry)') {
rewrite ^/$ /index_angular.html last;
}
}
location /menuitem1/ {
rewrite ^/(.*)$ /index_angular.html last;
}
我需要能够刷新页面并将所有路径参数发送到index_angular.html文件,该文件应该处理路由 . 请帮助 .
1 回答
您需要在404上的位置配置以返回index_angular.html
这应该有用,请告诉我 .
这是我的一个工作例子,我在你的情况下做错了:
更新
我签了nginx documentation,我猜是在错误页面的情况下定义一个重定向:
但我总是使用我的第一个建议,并且运作良好:)