AngularJS和URL重写为HTTPS

AngularJS和URL重写为HTTPS,angularjs,ssl,url-rewriting,Angularjs,Ssl,Url Rewriting,所以我的应用程序中有ui路由器,一切都很好。 我被要求将站点的帐户区域设置为强制HTTPS,因此我设置了以下规则: 我在主“视图”上有一个链接,可将您带到登录页面,该链接如下所示: <a class="link-primary" ui-sref="login" ng-switch-default>Sign in</a> .state('login', { url: '/account/signin', params: { return

所以我的应用程序中有ui路由器,一切都很好。 我被要求将站点的帐户区域设置为强制HTTPS,因此我设置了以下规则:

我在主“视图”上有一个链接,可将您带到登录页面,该链接如下所示:

<a class="link-primary" ui-sref="login" ng-switch-default>Sign in</a>
.state('login', {
    url: '/account/signin',
    params: {
        returnState: null,
        returnParams: null
    },
    templateUrl: '/assets/tpl/account/signin.tpl.html',
    controller: 'LoginController',
    controllerAs: 'controller',
    resolve: {
        pageTitle: ['PageHead', function (service) {
            service.setTitle('Kudos Sports - Login');
        }]
    }
})
单击该链接时,我会收到一条错误消息:

无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”

我可以键入url(),这样做不会出现任何问题。我甚至可以通过省略https协议来做到这一点,它将无问题地重定向,因此我只能假设angularJS有问题


有人能帮我解决问题吗?

尝试通过以下方式在服务器响应中添加HTTP头:

"Access-Control-Allow-Origin", "*"
这一次,使用服务器端脚本返回HTML,而不是纯HTML,例如在PHP中

<?php
 header("Access-Control-Allow-Origin: *");

Tbh对我来说,最好的方法是建立一个规则,将所有内容推送到HTTPS,而不仅仅是帐户内容

    <rule name="Redirect .com to www" patternSyntax="Wildcard" stopProcessing="true">
      <match url="*" />
      <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern="kudos-sports.co.uk" />
        <add input="{HTTP_HOST}" pattern="kudos-sports.com" />
        <add input="{HTTP_HOST}" pattern="kudos-sportswear.co.uk" />
        <add input="{HTTP_HOST}" pattern="kudos-sportswear.com" />
        <add input="{HTTP_HOST}" pattern="www.kudos-sports.co.uk" />
        <add input="{HTTP_HOST}" pattern="www.kudos-sportswear.co.uk" />
        <add input="{HTTP_HOST}" pattern="www.kudos-sportswear.com" />
        <add input="{HTTP_HOST}" pattern="kudos-sports.azurewebsites.net" />
      </conditions>
      <action type="Redirect" url="https://www.kudos-sports.com{REQUEST_URI}" />
    </rule>


它只是HTML,没有服务器端(对于这一点),那么索引HTML应该通过https发送,而不是http,然后一切正常,只是将它们保持在相同的域和协议中,这就是我不理解的