- Home
- Categorie
- Coding e Sistemistica
- PHP
- passare da http a https
-
passare da http a https
Ciao
ho un sito miosito.it per il quale ho settato sul server(tramite l'hosting) il certificato https ma il fornitore mi ha detto che non imposta lui il fatto che tutte le pagine siano in https ma devo farlo io. Per fare ciò ho creato poche righe di codice sulla mia home<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> </body> <script type="text/javascript" language="javascript"> window.location = "https://miosito.it/home.html" </script> </html>
ma così facendo la mia pagina principale non è più l'index ma la home.html
C'è un modo per fare tutto nella pagina index in modo tale che poi questa resti anche la pagina principale (con del contenuto) del sito?
-
Ciao PietroR,
per quel poco che ho letto pare che la soluzione sia operare a livello di Apache, e riguardo ciò forse ho trovato un articolo che potrebbe fare il tuo caso: semrush . com / blog / how-to / seo-friendly-migrate-website-http-https-free/Spero possa esserti utile.
-
Nel frattempo ho inserito questo script, appena dopo il tag html che sembra funzionare, che ne dite?può andare
<?php if($_SERVER['HTTPS']!="on") { $redirect= "https: //" . $_SERVER['HTTP_HOST'] . "/" . substr($_SERVER['PHP_SELF'],1); echo "<script> window.location.replace('".$redirect."') </script>"; } ?>
-
Ni. Penso che il controllo dovrebbe essere fatto sulla porta tipica del server utilizzata da HTTPS è la 443.
Quindi aggiungerei il predicato con l'operatore OR $_SERVER['SERVER_PORT'] != 443
-
quindi modifico il costrutto if in questo modo?
if($_SERVER['HTTPS']!="on" || $_SERVER['SERVER_PORT'] != 443)
-
Meglio. Tuttavia mi sembra che alcune volte il valore di $_SERVER['HTTPS'] ha l'iniziale maiuscola, quindi potrebbero esserci ulteriori ambiguità. In definitiva per risolvere quest'ulteriore problema del case sensitive farei questa modifica conclusiva:
[PHP]if (strtolower($_SERVER['HTTPS'])!="on" || $_SERVER['SERVER_PORT'] != 443)[/PHP]
Sound good?
-
beh, direi che a logica non fa una piega
-
Bene sono felice, ora non rimane che mettere in pratica quanto emerso. Purtroppo non ho ancora avuto esperienze nell'uso di HTTPS quindi non saprei dare altro supporto.
Non mi rimane che augurarti un buon lavoro e facci sapere sui progressi. Ciao.
-
Per ora dai test che ho fatto funziona e fa il redirect in automatico. Se scopro qualcosa di negativo lo scrivo!
-
Ottimo