角度状态刷新页面在浏览器中不起作用

时间:2015-06-30 12:37:45

标签: javascript angularjs angular-ui-router page-refresh

我有带路由的角度应用:<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);

当我使用

之类的链接时
<li role="presentation" ui-sref-active="active">
                <a href class="custom-tab-label" ui-sref="main.admin"Admin</a>
            </li>

一切正常。链接是http://localhost:8080/application/admin

但是当我尝试刷新此页面时,会出现404错误。

问题出在哪里?

1 个答案:

答案 0 :(得分:1)

你需要指示你的服务器端使用角度路由...... here is a link如何做...

e.g。在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>