Angular :1.1.5
我去:http://xxxxx.com/route1/route2/route3
并且 /route3
被触发而不是 route1/route2/route3
在关闭 HTML5 模式的情况下工作正常...... :(
Nginx 配置
location / {
index index.html;
try_files $uri $uri/ /index.html?$args;
}
我的应用配置
$routeProvider.when('/route1/route2/route3', {
templateUrl: '/views/home.html',
controller: 'HomeCtrl'
});
$routeProvider.when('/route3', {
templateUrl: '/views/home.html',
controller: 'HomeCtrl'
});
$locationProvider.hashPrefix('!');
$locationProvider.html5Mode(true);
$location
日志:
$$protocol: "http", $$host: "xxxxxx"…}
$$absUrl: "http://xxxxxxx.com/route1/route2/route3"
$$hash: ""
$$host: "10.44.11.73"
$$path: "/route3"
$$port: 80
$$protocol: "http"
$$replace: false
$$url: "/route3"
如何更改我的设置以使 HTML5 网址与嵌套路由一起使用?
最佳答案
对于单页应用程序,这就是您在 NGINX 配置中所需的全部内容:
server
{
server_name example.com *.example.com;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
root /var/www/html/example;
index index.html;
location / {
try_files $uri /index.html;
}
}
关于html - AngularJS HTML5 嵌套路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17154378/