Angularjs Angular UI Router:页面刷新时出错,因为正在修改脚本路径

Angularjs Angular UI Router:页面刷新时出错,因为正在修改脚本路径,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我正在使用并定义一条路线,如 .state('system.personinfo', { url: '/persons/:id', templateUrl: 'views/system/person-info.html', data: { role: ['admin'] }, controller: 'PersonInfoController', }) 工作起来就像一个符咒,但是当我刷新页面时,我得到的只是错误,因为所有脚本的路径现在都在

我正在使用并定义一条路线,如

.state('system.personinfo', {
    url: '/persons/:id',
    templateUrl: 'views/system/person-info.html',
    data: {
        role: ['admin']
    },
    controller: 'PersonInfoController',
})
工作起来就像一个符咒,但是当我刷新页面时,我得到的只是错误,因为所有脚本的路径现在都在路径的开头添加了“persons/”。因此,出于某种原因,我不知道该路由的url会添加到所有链接中

我正在使用HTML5模式:

$locationProvider.html5Mode({enabled: true, requireBase: false});
如果我不使用'ID'参数,页面刷新工作正常,那么

.state('system.personinfo', {
    url: '/persons',
    templateUrl: 'views/system/person-info.html',
    data: {
        role: ['admin']
    },
    controller: 'PersonInfoController',
})
实际上是有效的


有人能告诉我这里缺少了什么吗?

原来是标题中缺少的
标记。所以加上

<base href="/">

在标题部分解决了这个问题

从:

如果将$location配置为使用HTML5模式,则需要使用标记指定应用程序的基本URL


要使用
HTML5模式进行页面刷新
,您需要将服务器配置为执行服务器端重写。请使用问题的编辑链接添加其他信息。回答后按钮只能用于完整回答问题。-事实上,这就是答案,我只是在问了几个小时后没有足够的声誉来回答我自己的问题(我猜这就是声誉,有一条警告告诉我需要等待一天才能接受它作为答案)@user3255061如果您能回答为什么您的答案有效,将比回答更有用。如果您能,请解释更多。抱歉,我还不太习惯,但很遗憾,我已经尝试过了(链接了文档并引用了一节,如果我理解正确,这就是原因)。但是谢谢你的提示,让我的答案更好,谢谢你。