Angularjs Angular UI路由器只能在url中的三个以上目录上工作
为什么我的角度路由器只有在目录大于3(三)时才工作。如果没有,我刷新浏览器时会出现错误404Angularjs Angular UI路由器只能在url中的三个以上目录上工作,angularjs,angular-ui-router,Angularjs,Angular Ui Router,为什么我的角度路由器只有在目录大于3(三)时才工作。如果没有,我刷新浏览器时会出现错误404 状态('new'{ url:“/new”,//在使用/new/x/x/x时有效 templateUrl:'new.html' }) 我正在使用asp.net mvc尝试使用类似的东西 $routeProvider .when('/users',{ templateUrl: '/views/users.html', controller:
状态('new'{
url:“/new”,//在使用/new/x/x/x时有效
templateUrl:'new.html'
})
我正在使用asp.net mvc尝试使用类似的东西
$routeProvider
.when('/users',{
templateUrl: '/views/users.html',
controller: 'usersController'
})
.when('/roles',{
templateUrl: '/views/roles.html',
controller: 'rolesController'
})
.otherwise(
{ redirectTo: '/'}
);
如果您得到的是404,这意味着您正在使用GN
HTML5模式
(清除url中的哈希)。因此,您的项目中必须有一个.htaccess
文件。大概是这样的:
RewriteEngine On
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested resource doesn't exist, use index.html
RewriteRule ^ /yourProjectName/index.html
注意:将yourProjectName
更改为您的目录名
编辑:对于
IIS
请参阅或。如果在刷新浏览器时收到404,则服务器正在处理路由,而不是角度路由,并且未正确配置。很可能(但此处未显示)您正在使用HTML5模式,这要求您的服务器进行特殊配置。。。嵌套状态以实现您的结果这与UI路由器状态有关吗?他使用的是UI路由器,而不是,ngRoute.where是问题的答案。因此您必须搜索IIS的相关目录。但是为什么我在url/new/x/x/x中刷新时没有收到任何错误?您确定项目中没有类似/new/x/x/x
的目录吗?是的,我没有。我想这是因为route-config-basic/controller/function/id,所以我还在我的应用程序中为你的答案找到相关的IIS