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>