Rediriger HTTP vers HTTPS pour une page
Je sais que cette question a été posée à la mort, mais pour une raison quelconque, des 20 postes que j'ai lu, rien ne fonctionne correctement pour moi et j'espère que quelqu'un pourrait faire une idée.
En gros, j'ai un simple panier, où je veux rediriger 2 uri HTTPS, ma page de paiement, et mon dossier admin:
/checkout
/admin
Je peux réussir à rediriger vers la version HTTPS de la caisse avec le code suivant:
RewriteEngine On
#https
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^checkout https://palatinehillsestatewinery.com/checkout [R=301,L]
# remove index.php, this is just included to show everything in my .htaccess
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
Le problème que j'ai trouvé avec cette et toutes les autres solutions, c'est qu'une fois que je décide de retourner à une page qui ne devrait pas être en HTTPS, l'url reste HTTPS.
J'ai été à tâtonner avec des boucles etc.
Si quelqu'un pouvait aider avec la redirection vers HTTPS sur ces 2 pages, et puis http sur toutes les autres pages, ce qui serait d'une grande aide et très apprécié.
source d'informationauteur Anthony
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas de répondre directement à votre question, mais je sens que je mettre comme une réponse (de plus, il est trop grand pour poster un commentaire).
Mon conseil: arrêtez de jouer avec htaccess pour ce genre de tâche (force quelques URLs à utiliser le protocole HTTPS et force le reste à utiliser le protocole HTTP).
La meilleure façon est de générer des Url COMPLÈTES pour tous les liens (pages, pas de ressources), où l'URL contient le nom de domaine et le protocole. Dans ce cas, toutes les Url d'avoir le bon protocole (HTTP/HTTPS) tout de suite. Bien sûr: vous pouvez toujours corriger (redirection 301 ou 302) les demandes de soi-disant-https si ils (pour une raison étrange) sont demandés via HTTP. C'est là .htaccess peut être en toute sécurité et facilement.
Si l'utilisateur demande la page normale (ce qui devrait être servi sur HTTP) via HTTPS -- puis laissez-le faire -- il n'y a rien de mal à cela. Oui -- HTTPS nécessite un peu plus de ressources côté serveur, mais si vous générez tous les liens de cette façon, il n'y aura pratiquement pas de telles situations, à moins que l'utilisateur spécifiquement changements de protocole. Même si une telle page sera servi par le protocole HTTPS, le côté "normal" lien il sur HTTP -- 1 extra HTTPS page ne sera pas de tuer votre serveur.
Je suis en utilisant cette approche, tout le temps quand un site est d'avoir une zone sécurisée .. et basés sur les journaux, nous avons moins de 0,01% de l'ENSEMBLE des vues de pages qui ont été consultées ou de tentative d'être visionné à l'aide de "faux" protocole -- grande majorité d'entre eux étaient des robots ou des tentatives de hack/vulnérabilité de recherche.
Basés sur de telles stats, je dirais -- il fonctionne parfaitement. oui, vous avez besoin de modifier votre code/templates un peu pour mettre en œuvre cette .. mais il est beaucoup mieux que de jouer avec .htaccess et mod_rewrite.
Dans tous les cas, voici les règles qui permettraient de faire le travail pour vous:
OU