J'ai un site de commerce électronique et je souhaite activer HTTPS uniquement sur la section Ecommerce du site situé à https: // mysite.com/buy
Puisque tous les liens de mes pages sont relatifs, quand une personne visite http: // mySite .com et clics sur Acheter, ils sont pris à http://mysite.com/buy
aussi, s'ils visitent https://mysite.com/buy et cliquez sur un lien à une autre page, ils sont pris à https://mysite.com . P>
La raison que je veux https uniquement sur cette section est parce que j'ai des éléments externes (c'est-à-dire Google Maps, YouTube, Twitter, etc.) qui ne peuvent pas être envoyés sur https. P>
y a-t-il un moyen avec htaccess que je peux faire le / acheter Force de répertoire HTTPS, mais toutes les autres pages Force HTTP? P>
Edit: Au cas où n'importe qui est intéressé, j'ai pu résoudre ce problème en utilisant php. Je préférerais toujours une solution haccessive, mais cela fonctionnera pour l'instant: P>
if($_SERVER['HTTPS'] == "on") { if(strpos($_SERVER['REQUEST_URI'],"buy") === false) { Header("Location: http://$_SERVER['HTTP_HOST']."".$_SERVER['REQUEST_URI']"); } }
3 Réponses :
Je n'ai pas la main sur l'expérience, mais d'après ce que je vois, il semble que le fichier de configuration HTACCESS doit avoir un impact sur les fichiers du dossier dans lequel le fichier est stocké. P>
Vous devriez donc être capable de faire quelque chose comme ceci: p>
http://www.besthostratigs.com/articles/force-ssl- haccess.html p>
et mettez-le dans le dossier / Acheter de votre site. P>
Merci d'avoir répondu. Le problème est que / acheter est une URL réécrite, donc le dossier / achat n'existe pas réellement.
Essayez ceci dans votre fichier .htaccess: r = 301 code> rediriera avec l'état HTTPS 301
l code> fera la dernière règle
ne code> est pour aucune chaîne de requête qui s'échappe
QSA code> ajoutera vos paramètres de requête existants
NC code> est destiné à ignorer la comparaison de cas p>
1 $ code> est votre request_uri p> p>
Vous pouvez simplifier rewriterule ^ /? (. *) $ Http://mysite.com/omputer1 [r = 301, qsa, l, ne] code> à
rewriterule (. *) Http: //mysite.com$1 [r = 301, QSA, L, NE] code>
Si votre page Web est hébergée sur et votre fichier .htaccess devrait ressembler à ce p> 9001 code> Activez n'importe quel port de votre boîte Linux et apportez ces modifications dans
/etc/httpd/conf.d/ssl.conf code > .Tren Définissez votre port d'écoute sur
9002 CODE> et créer un certificat SSL et une touche et placez la configuration suivante dans votre httpd.conf em> fichier