bonjour j'ai mon site hébergé sur Hostinger et je l'ai permis de forcer https, alors quand les gens écrit http: // Exemples.com Il va à https://example.com .
J'ai une API qui gère un poste de mon programme.
J'ai déjà mes demandes de manutention de l'API, mais je ne sais pas comment "filtrer" https.
À l'heure actuelle, toute demande (HTTP ou HTTPS) est acceptée par mon API, mais je souhaite que cela ignore ou bloque la demande HTTP, et ne répondez que sur https. Em> p>
@edit:
Suggestions utilisées sur les commentaires et sont venus avec ce qui suit:
RewriteEngine sur
Réécritecond% {https} éteint
Réécritule ^ (. *) $ https: //% {http_host}% {request_uri} [l, r = 301] p>
Lorsque je fais une demande HTTPS, cela fonctionne, mais lorsque je fais une demande HTTP, il en fait la demande, mais lorsque j'échresse les variables envoyées sur le corps, elles sont vides. P>
4 Réponses :
Veuillez définir ci-dessous la règle de réécriture dans son travail pour moi p> P> .htaccess code>.
Merci, cela a travaillé. J'ai rencontré un problème que je mettrai à jour sur la question principale.
dans .htaccess
p>
<IfModule mod_rewrite.c> RewriteEngine On # Redirection to HTTPS RewriteCond %{SERVER_PORT} 80 RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ................. </IfModule>
Merci, cela a travaillé. J'ai rencontré un problème que je mettrai à jour sur la question principale.
Ceci devrait rejeter les demandes HTTP avec un 403
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ - [F]
Puisque vous tag php, vous pouvez également utiliser $ _Server ['https'] :
utiliser .htaccess
Réécritecond% {https}! = Sur Rewriterle ^ (. *) $ Https: //% {http_host}% {demande_uri} [l, r = 301]
Bonjour, j'ai déjà les suivants: rewriteEngine sur réécritecond% {https} de rewriteCond% {http_host} ^ exemple.com $ rewriterule (. *) Https: //% {http_host}% {request_uri} dois-je remplacer cela avec ce que vous a écrit?
Ajoutez ceci au début de votre fichier API
si (vide ($ _ serveur ['https']) || $ _server ['https'] == 'OFF') retour; code> Cela rejette les demandes effectuées sur http!