我有一个令人生气的问题ui-router.一切都按照我的意愿运行,所有错误的URL都发送到404州.但是,即使我的默认状态在url是正确呈现时/#/,/也会重定向到url /404/.哪能服务器的default状态,既/和/#/?
app.js
MyApp.config( function ($stateProvider, $urlRouterProvider) {
// For any unmatched url, send to 404
$urlRouterProvider.otherwise("/404/");
$stateProvider
// Home (default)
.state('default', {
url: '/',
resolve: {
...
},
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个Angular v1.3应用程序,它使用Angular ui-router v0.2.13进行所有路由.该网站适用于所有浏览器,包括IE 10和IE 11,但不适用于IE 9(我们决定不追求IE8,我理解不支持v1.3,无论如何).尽管我付出了最大的努力,IE 9仍然不断解决我的$stateProvider's otherwise路线(设置为/*path可能的罪魁祸首,因此我禁用了该路线以进行测试).
为了尝试解决任何其他路线,我尝试设置$locationProvider.html5Mode(false),修改$locationProvider.hashPrefix,更改<base href="/" />为各种URL,包括<base href="/#!"/>,我甚至包括xmlns:ng="http://angularjs.org"在<html>标签中以获得良好的衡量标准.无论我尝试什么,IE 9都会不断尝试解析我的otherwise路线,如果该路线被禁用,则不会尝试.顺便说一句,我的主页路由URL设置为/.
我已经在代码中注意了我的眼球,发布截止日期迫在眉睫,所以我会第一个承认我可能会忽略一些显而易见的事情.任何人都可以提供任何其他提示或技巧,以使ui-router在IE 9中正确解析?