Javascript AngularJS:动态URL前缀
我有一个大的角度应用程序,它的URL如下:Javascript AngularJS:动态URL前缀,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有一个大的角度应用程序,它的URL如下: http://myangularapp.com/app/index.html#/ 我打算给出的URL将需要在URL中注入一个名称,因为这一个站点将支持多个用户 因此,在不修改任何目录结构的情况下,我想: http://myangularapp.com/app/bob/index.html#/ 而且: http://myangularapp.com/app/harry/index.html#/ 理想情况下,我的所有控制器和功能都将保持不变 这件事太
http://myangularapp.com/app/index.html#/
我打算给出的URL将需要在URL中注入一个名称,因为这一个站点将支持多个用户
因此,在不修改任何目录结构的情况下,我想:
http://myangularapp.com/app/bob/index.html#/
而且:
http://myangularapp.com/app/harry/index.html#/
理想情况下,我的所有控制器和功能都将保持不变
这件事太难办了 使用
$routeProvider
服务。您可以定义URL的位置,如下所示
$routeProvider.
when('/app/foo/bar/what/about/bob', {
templateUrl: 'app/bob/index.html', <---directory and url don't have to match
controller: 'bobController'
}).
when('/app/harry', { ...
})
$routeProvider。
当(“/app/foo/bar/what/about/bob”{
templateUrl:'app/bob/index.html',我认为这不能通过$routeProvider完成。$routeProvider只能在index.html
之后修改路由。以前不是路由我还没有尝试过,但我需要“bob”作为一个我可以抓取的变量,即,如果“”是一个人调用的URL,则该站点仍将执行,但可以抓取“sally”从url开始。现在,效果很好,我只是想保持我最干净的url。看起来我将添加一个querystring变量来解决这个问题。您可能需要修改.htaccess
或服务器中的设置。这不能在angular应用程序级别上完成。angular route只能在index.htmlAs mohamedrias说,您有要在服务器中配置它?您使用哪台服务器托管html文件:Apache或IIS?我使用IIS。我希望使用“harry”或“bob”作为变量。似乎添加querystring变量是唯一的方法