Erzwingen, dass eine bestimmte Seite HTTPS mit anglejs verwendet

In unserer Anwendung haben wir eine Zahlungsseite, auf der wir SSL verwenden möchten, da wir Kreditkarteninformationen verarbeiten. Wir haben bereits Umschreiberegeln für Apache eingeführt, um eine Anfrage auf die bestimmte Seite an HTTPS umzuleiten - damit werden alle direkten Anfragen an die Zahlungsseite erledigt (http://oursite.com/pay ).

Die Navigation auf unserer Website erfolgt jedoch größtenteils über relative URLs undstates mitui-router in anglejs und wir haben festgestellt, dass apache diese anfragen nicht abfängt und so die seite ohne SSL bedient.

EX Wenn ein Benutzer auf einen Link mit klicktui-sref='pay' ui-router Lädt die Vorlage und aktualisiert den Status. Es wird zu keinem Zeitpunkt eine Anforderung an den Server für eine neue URL gesendet, sodass Apache nicht zu https umleiten kann

Gibt es eine Möglichkeit, den UI-Router (oder allgemein den Angular-Modus) zu zwingen, HTTPS zu verwenden, ohne alle Links ändern zu müssen, um die gesamte Site neu zu laden?

Natürlich kann dies auch ein Mangel in unseren Umschreiberegeln sein ... Folgendes haben wir bisher

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} /pay
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]

Der zweite Regelsatz besteht darin, den HTML5-Modus für unsere App zu erzwingen.

RewriteCond %{REQUEST_FILENAME} !-f ist vorhanden, damit Angular die Zahlungsvorlage für den Status abrufen kann, ohne SSL zu benötigen. Ist das okay?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage