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