我在php上有一个路由应用程序。这是一个简单的例子:
$req=$_SERVER['REQUEST_URI'];
if(strpos($req, '/items/') === 0){
include __DIR__.'/../views/items/index.php';
} else{
include __DIR__.'/../views/login/index.php';
}
在每个页面(项目和登录)上使用angularjs路由。除IE9及以下版本外,所有功能都完美无缺。页面加载后,角度更新url并重新加载页面以便使用哈希导航进行路由。我在IE中遇到以下问题:
items/index.php
/
,因此返回页面login/index.php
结果我无法打开IE中的项目页面。我该如何解决问题?我曾经在IE中的事件$routeChangeSuccess
上进行重定向,添加查询参数以在服务器端读取它,但是新版本的角度路由将查询参数放在哈希之后,它们无法在服务器上读取侧。
角度位置提供商是$locationProvider.html5Mode(true).hashPrefix('!');
答案 0 :(得分:1)
你找到了解决方案吗?
我正在考虑修改angularjs代码以将路径存储在cookie中,当角度刷新页面以将URL更改为hashbang(ie8 in html5mode)时,可以从php中检索该路径