Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:动态URL前缀_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript AngularJS:动态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#/ 理想情况下,我的所有控制器和功能都将保持不变 这件事太

我有一个大的角度应用程序,它的URL如下:

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变量是唯一的方法