Forcer une page spécifique pour utiliser le protocole HTTPS avec angularjs

Dans notre application, nous avons une page de paiement que nous voulons utiliser SSL sur parce que nous sommes à la manipulation des informations de carte de crédit. Nous avons déjà mis en place des règles de réécriture apache pour rediriger une demande à la page spécifique de HTTPS-qui prend soin de toutes les demandes présentées directement à la page de paiement ( http://oursite.com/pay ).

Cependant, la plupart de navigation dans notre site se fait via des url relatives et states à l'aide de ui-router dans angularjs et nous avons trouvé que apache ne pas attraper ces demandes et donc sert la page sans SSL.

EX Si un utilisateur clique sur un lien avec ui-sref='pay' ui-router charge le modèle et ravive l'état, à aucun moment, est une requête faite au serveur pour une nouvelle uri si apache ne peut pas rediriger vers https

Est-il un moyen de forcer l'interface utilisateur du routeur(ou angulaire en général) de contraindre un état à utiliser le protocole HTTPS, sans avoir à modifier tous les liens pour recharger l'ensemble du site?

Bien sûr, cela peut aussi être une lacune dans nos règles de réécriture...Voici ce que nous avons jusqu'à présent

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]

La deuxième série de règles à faire respecter html5mode pour notre application.

RewriteCond %{REQUEST_FILENAME} !-f est en place pour que angulaire peut récupérer le modèle de paiement pour l'état, sans avoir besoin de SSL. Est-ce correct?

  • Oui, il est à la recherche de bonnes.
  • mais j'ai besoin d'une solution pour forcer https côté client que du bien!
  • Qu'entendez-vous par forcing https client-side? Vous souhaitez faire via JS au lieu de .htaccess?
  • Si un utilisateur clique sur un lien avec ui-sref='pay' ui-router charge le modèle et ravive l'état, à aucun moment, est une requête faite au serveur pour une nouvelle uri si apache ne peut pas rediriger vers https. Les règles de réécriture couvrir les cas où les gens vont directement à domain.com/pay mais pas les cas où l'interface utilisateur du routeur gère la navigation. J'ai besoin de faire l'interface utilisateur du routeur de rediriger sur la pay état de https. Soit ça, ou faire tous les liens vers /pay absolue hrefs que je ne voudrais pas faire..