【发布时间】:2013-08-20 10:04:29
【问题描述】:
我有以下问题。在客户端,我有角度路由,类似这样的:
...
$locationProvider.html5Mode(true);
$routeProvider.
when('/item/:item_id', { reloadOnSearch: false, templateUrl: '/views/main/partials/_item.html', controller: ItemCtrl }).
otherwise({redirectTo: '/login'}); // Default
...
以及PHP服务器端的一些路由
$req=$_SERVER['REQUEST_URI'];
if(strpos($req,'/login') > -1){
include __DIR__.'/../views/login/index.php';
} else if(strpos($req,'/item/') > -1) {
include __DIR__.'/../views/item/index.php';
else {
include __DIR__.'/../views/login/index.php';
}
除了 IE 外都很好用,因为在 IE 上执行客户端路由时,url 会从这个改变
myapp/item/123
这样的事情
myapp/#/item/123
当服务器端在客户端路由后收到这种请求url时,哈希标记后的所有数据都消失了,我无法区分应该使用哪个路由。我可以从 url 中删除 #,或者做其他事情来让 IE 和服务器端和平相处吗?我试图解决它失败了。谢谢
【问题讨论】:
标签: php javascript angularjs angularjs-routing