在angular-ui-router上输入路由

时间:2015-10-13 16:48:08

标签: angularjs angular-ui-router

我正在使用WordPress网站使用{unt-router}的this demo来托管javascript文件(这不是应用程序作者想要的,但仍然展示了我的问题)。角度应用具有/login路线,如果我点击主页上的链接,则会加载角度应用的login模板。但是,如果我输入网址http://localhost:8888/login,它会显示WordPress登录页面,即它不会被angular-ui-router处理,这会使它像路由器一样无用/不可预测。

问题:有没有办法让angular-ui-router处理在浏览器中输入的路由,或者是否有一个角度路由器可以处理浏览器中的路由类型?

背景:我打算使用angular作为WordPress网站的前端,它能够处理浏览器中丢弃的路由非常重要,例如http:localhost:8888/2015/10/10/my-wordpress-post

这是处理login路径

的代码
'use strict'; 
2 

3 routes.$inject = ['$stateProvider']; 
4 

5 export default function routes($stateProvider) { 
6   $stateProvider 
7     .state('login', { 
8       url: '/login', 
9       template: require('./login.html'), 
10       controller: 'LoginController', 
11       controllerAs: 'login' 
12     }); 
13 } 

1 个答案:

答案 0 :(得分:1)

问题是您的服务器正在侦听基于网址的请求。如果您在Angular页面上并单击链接,则表示您正在使用HTML5推送状态。如果你键入一个URL,你就不是,你的服务器会在角度之前处理它。最简单的解决方案是将Wordpress应用程序安装在子目录中,并使用root来为Angular应用程序提供服务。