Apache没有检测到ui-router状态变化

时间:2016-07-06 19:34:56

标签: angularjs apache angular-ui-router ui-sref locationmatch

我使用LocationMatch Apache指令将一些逻辑应用于AngularJS应用程序。为了测试,我的正则表达式覆盖了一个状态http://my.ui.com/login

的Apache

<LocationMatch "^/(login)(.*)">
    Redirect "/login" "/login2"
</LocationMatch>

这个简单的Redirect用于检查块是否已被触发。当我直接到达上面的URL(假URL,抱歉我无法共享真实的应用程序)时,我可以通过观察URL栏看到重定向工作。但是,如果使用ui-sref按钮导航到此状态,则永远不会触发LocationMatch块。这是相关的AngularJS代码,我使用的是ui-router库:

用户界面状态

$stateProvider.state('login', {
    url: '/login',
    templateUrl: 'login.html',
    controller: 'LoginCtrl'
});

按钮(点击不会触发Apache)

<button class="md-button" ui-sref="login">Login</button>

我猜测是因为AngularJS应用程序一次性加载,所以在发生stateChange时没有进行磁盘读取。有没有人知道Apache有更好的方法来检测AngularJS应用程序中的状态变化?

0 个答案:

没有答案