Angular HTML5Mode - 重写规则

Ran*_*s1r 5 iis url-rewriting angularjs angular-ui-router

当我刷新网站上的标签时,我遇到了路径问题:

我从github复制了这个重写规则:

  <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>
Run Code Online (Sandbox Code Playgroud)

这在https://www.mywebsite.com/dashboard等路径上非常有用.

但是,当我刷新像https://www.mywebsite.com/tab/settings这样的路径时,我的javascript加载正常,但我的css目录关闭了1.

我的脚本路径加载正确如下:

https://www.mywebsite.com/Scripts/angular.js

但是,我的CSS试图加载为:

https://www.mywebsite.com/tab/Content/bootstrap.min.css
Run Code Online (Sandbox Code Playgroud)

使用/ tab /导致我的问题.

我的路线:

.state('Template',
        {
            url: '',
            abstract: true,
            views: {
                'header': {
                    templateUrl: 'App/SharedViews/Landing/dashboardheader.html'
                }
            }
        })
        .state('Template.AdminTab',
        {
            url: '/admin',
            views: {
                'container@': {
                    templateUrl: 'App/Views/Admin.html'
                }
            }
        })
        .state('Template.Tab.Company',
        {
            url: '/company',
            views: {
                'container@': {
                    templateUrl: 'App/Views/Admin.html'
                },
                'tabs-views@': {
                    templateUrl: 'App/Views/Company.html'
                }
            }
        })
        .state('Template.Tab.Users',
        {
            url: '/users',
            views: {
                'container@': {
                    templateUrl: 'App/Views/Admin.html'
                },
                'tabs-views@': {
                    templateUrl: 'App/Views/Users.html'
                }
            }
        })
Run Code Online (Sandbox Code Playgroud)

如何修改重写规则以在2+段深度的网址上正确加载css?

Wil*_*ire 4

你的路径应该是: /Content/bootstrap.min.css

代替: Content/bootstrap.min.css

前面加“/”将根据根目录解析路径。