AngularJS 和 URL 重寫為 HTTPS (AngularJS and URL Rewrite to HTTPS)


問題描述

AngularJS 和 URL 重寫為 HTTPS (AngularJS and URL Rewrite to HTTPS)

所以我的應用程序中有 ui‑router,一切正常。我被要求讓網站的帳戶區域強制使用 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 無法加載 https://榮譽‑topspindigital.azurewebsites.net/assets/tpl/account/signin.tpl.html。不 ' Access‑Control‑Allow‑Origin' 標頭出現在請求的資源上。因此,不允許訪問來源 'http://kudos‑topspindigital.azurewebsites.net'。

我可以輸入網址(https://kudos ‑topspindigital.azurewebsites.net/account/signin),這可以正常工作。我什至可以通過省略 https 協議來做到這一點,它會毫無問題地重定向,所以我只能假設 angularJS 有問題。

有人可以幫我解決我的問題嗎?

http://kudos‑topspindigital.azurewebsites.net' 因此不允許訪問。

我可以輸入網址(https://kudos‑topspindigital .azurewebsites.net/account/signin),這可以正常工作。我什至可以通過省略 https 協議來做到這一點,它會毫無問題地重定向,所以我只能假設 angularJS 有問題。

有人可以幫我解決我的問題嗎?

http://kudos‑topspindigital.azurewebsites.net' 因此不允許訪問。

我可以輸入網址(https://kudos‑topspindigital .azurewebsites.net/account/signin),這可以正常工作。我什至可以通過省略 https 協議來做到這一點,它會毫無問題地重定向,所以我只能假設 angularJS 有問題。

有人可以幫我解決我的問題嗎?

因此不允許訪問。

我可以輸入網址(https://kudos‑topspindigital.azurewebsites.net/account/signin) 並且這工作沒有任何問題。我什至可以通過省略 https 協議來做到這一點,它會毫無問題地重定向,所以我只能假設 angularJS 有問題。

有人可以幫我解決我的問題嗎?

因此不允許訪問。

我可以輸入網址(https://kudos‑topspindigital.azurewebsites.net/account/signin) 並且這沒有任何問題。我什至可以通過省略 https 協議來做到這一點,它會毫無問題地重定向,所以我只能假設 angularJS 有問題。

有人可以幫我解決我的問題嗎?

),這沒有任何問題。我什至可以通過省略 https 協議來做到這一點,它會毫無問題地重定向,所以我只能假設 angularJS 有問題。

有人可以幫我解決我的問題嗎?

),這沒有任何問題。我什至可以通過省略 https 協議來做到這一點,它會毫無問題地重定向,所以我只能假設 angularJS 有問題。

有人可以幫我解決我的問題嗎?


參考解法

方法 1:

Try add HTTP header in your server response by:

"Access‑Control‑Allow‑Origin", "*"

This time, use server side script to return HTML instead pure html, for example, in PHP

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

方法 2:

Tbh the best way for me to do this was to set up a rule that pushed everything to HTTPS, not just the account stuff.

    <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>

(by r3plicaTomr3plica)

參考文件

  1. AngularJS and URL Rewrite to HTTPS (CC BY‑SA 2.5/3.0/4.0)

#url-rewriting #angularjs #SSL






相關問題

靜態內容域的 IIS 重定向規則 (IIS redirect rules for static content domains)

IIS 重寫模塊重寫映射性能 (IIS Rewrite Module rewrite map performance)

我返回集合的 Asp.net mvc 操作生成包含 system.linq.Enumerable 的 url,如何刪除它們 (My Asp.net mvc actions that return collection generate urls containing system.linq.Enumerable, how to remove them)

如何將查詢參數修改為路徑文件夾名稱? (How to mod_rewrite a query parameter to a path folder name?)

如何使用 .htaccess 將動態 URL 更改為 SEO 友好 (how to change the dynamic URL to SEO friendly using .htaccess)

AngularJS 和 URL 重寫為 HTTPS (AngularJS and URL Rewrite to HTTPS)

mod-rewrite 結合了兩種不同的重寫規則 (mod-rewrite combine two different rewrite rules)

htaccess 刪除 .php 擴展名並重寫為 www (htaccess remove .php extension and rewrite to www)

初學者 Apache URL 重寫問題 (Beginner Apache URL Rewrite Question)

.net datapager + listview + Intelligencia.UrlRewriter (.net datapager + listview + Intelligencia.UrlRewriter)

jquery get / post請求的Apache url替換 (Apache url replacement for jquery get / post request)

在python中解析url以提取參數 (Parsing url in python to extract parameters)







留言討論