2015-10-13 39 views
0

我正在使用angular-ui-router的this demo,它使用WordPress站点来托管javascript文件(这不是应用作者打算的,但却表明我的问题仍然存在)。角度应用程序有一个/login路线,如果我点击主页上的链接,加载角度应用程序的login模板。但是,如果我输入网址http://localhost:8888/login,它会显示WordPress登录页面,即它不是由angular-ui-router处理的,这使它成为无用/不可预测的路由器。在angular-ui路由器上的路由类型

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

背景:我打算用角作为前端,一个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

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

+0

所以使用一些其他类型的应用程序来服务根应用程序中的角应用程序?例如,它甚至可能是一个Python应用程序?让他们完全分开? – Leahcim

+0

是的,尽管如果你已经在使用PHP的话,让PHP来做它可能会更容易。否则,你不得不想出一个简单的方法让不同的网络服务器在不同的路径上监听。 –

+0

当我说PHP时,我的意思是apache。 –

相关问题