angular 状态刷新页面在浏览器中不起作用
angular state refresh-page does not work in browser
我有 angular 个带路由的应用程序:<base href="/application/">
$stateProvider
.state('main', {
url: '/',
templateUrl: 'js/templates/main.html'
})
.state('main.admin', {
url: '^/admin',
templateUrl: 'js/templates/admin-page.html',
controller: 'AdminController'
})...
$locationProvider.html5Mode(true);
当我像
一样使用 link 时
<li role="presentation" ui-sref-active="active">
<a href class="custom-tab-label" ui-sref="main.admin"Admin</a>
</li>
一切正常。 link 是 http://localhost:8080/application/admin
但是当我尝试刷新此页面时 - 出现 404 错误。
问题出在哪里?
您需要指示您的服务器端使用 angular 路由... here is a link 如何操作...
例如在 IIS 中
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
我有 angular 个带路由的应用程序:<base href="/application/">
$stateProvider
.state('main', {
url: '/',
templateUrl: 'js/templates/main.html'
})
.state('main.admin', {
url: '^/admin',
templateUrl: 'js/templates/admin-page.html',
controller: 'AdminController'
})...
$locationProvider.html5Mode(true);
当我像
一样使用 link 时<li role="presentation" ui-sref-active="active">
<a href class="custom-tab-label" ui-sref="main.admin"Admin</a>
</li>
一切正常。 link 是 http://localhost:8080/application/admin
但是当我尝试刷新此页面时 - 出现 404 错误。
问题出在哪里?
您需要指示您的服务器端使用 angular 路由... here is a link 如何操作...
例如在 IIS 中
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>