[PHP] Modi per fare redirect 301 da http a https

Maria Maria

Nuovo Utente
13 Apr 2019
7
0
1
Salve,
sono nuova del php e devo fare redirect 301 per un passaggio da http a https. I modi per farlo quali sono?
  • lato server, per cui la redirect si fa nel server?
  • nel file .htacess?
  • nel pannello di controllo del dominio utilizzando la “Gestione redirect?”
Il problema sorge perché sto lasciando un server dedicato per passare a un VPS con gestione sistemistica del provider. Ora, il sito è registrato presso un provider mentre il VPS dovrebbe essere presso un altro provider.

Il nuovo provider del VPS mi dice che non può fare il redirect lato server perché i domini sono registrati appunto per un altro provider e di farlo dal pannello di controllo del dominio utilizzando la “Gestione redirect… E’ corretto questo?

Allora ho pensato alla possibilità di farlo tramite il file .htacess anche se mi pare di capire che va bene per i redirect semplici e non nel passaggio da http a https.

Potete consigliarmi?
Grazie per l’aiuto che potrete darmi..
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.298
332
83
Io lo ho con .htaccess è funziona benissimo
 

Maria Maria

Nuovo Utente
13 Apr 2019
7
0
1
Ciao Max,
nel senso che hai fatto la redirect 301 per l'https tramite il pannello di controllo del dominio utilizzando la “Gestione redirect" e tutto è andato a buon fine?
Sai, avevo scritto al forum per webmaster per un problema sulla Search console e loro mi avevano detto che
dovevo fare il passaggio da
  1. Da http:// https://
  2. Da http://www. a https://www.
Ora, con la "Gestione redirect" io posso fare solo una redirect e ovviamente farei
http://www.miosito.it --> https://www.miosito.it
Tu cosa hai fatto?
 

macus_adi

Utente Attivo
5 Dic 2017
1.313
88
48
IT/SW
Il nuovo provider del VPS mi dice che non può fare il redirect lato server perché i domini sono registrati appunto per un altro provider e di farlo dal pannello di controllo del dominio utilizzando la “Gestione redirect… E’ corretto questo?
NO!
Dominio su servizio X
Macchina VPS su servizio Y
Punto il dominio con: RECORD DNS A -> Indirizzo IP Macchina VPS.

La macchina VPS per creare un "SITO" necessita di un server WEB, ossia deve gestire dei Virtual Host, quindi il Virtual Host che si trova sul VPS ha tutte le facoltà di effettuare i redirect 301 da http -> https.
Praticamente il flusso è questo:
www.miodominio.it -> A -> indirizzo IP macchina VPS -> server web VPS -> Virtual Host -> Risorsa
ossia:
Servizio Dominio -> risolve l'ip del VPS attraverso un DNS -> VPS che contiene un server web che analizza le richieste e da l'output....

Allora ho pensato alla possibilità di farlo tramite il file .htacess anche se mi pare di capire che va bene per i redirect semplici e non nel passaggio da http a https.
Falso, va bene solo che si è arrivati quasi alla risoluzione della richiesta... É corretto utilizzarlo, ma tecnicamente sarebbe meglio farlo da VH.


Per quanto riguarda la gestione del ridirect sarebbe consigliabile farla il prima possibile, quindi agire da VH implementando anche l'uso di HSTS!
 
Ultima modifica:

Maria Maria

Nuovo Utente
13 Apr 2019
7
0
1
Ciao Macus_Adi,
innanzitutto grazie tantissime dei chiarimenti.

Per prima cosa allora insisterò con il Provider (Y) VPS per fare lui il redirect 301 lato server.
In pratica io poi dovrò dal mio Provider (X) del nome a dominio mettere il nuovo indirizzo IP nel record A.

Da quello che scrivi inoltre, va bene anche fare il redirect dal file htaacess (anche se consigli meglio da VH) però cosa intendi per: "va bene solo che si è arrivati quasi alla risoluzione della richiesta"?

Grazie.
 

macus_adi

Utente Attivo
5 Dic 2017
1.313
88
48
IT/SW
va bene solo che si è arrivati quasi alla risoluzione della richiesta
Ossia il web server ha già risolto il tutto e sta tentando di restituire la risorsa richiesta, solo che si accorge di una direttiva di redirect e lo esegue, in poche parole impiegherebbe più tempo (parliamo di millisecondi).

Sarebbe meglio farlo da VH e non da htaccess...
 

Maria Maria

Nuovo Utente
13 Apr 2019
7
0
1
Ora ho capito. Grazie tantissime.

Dato che conosci il php mentre io sono una neofita, chiariscimi una cosa circa i normali 301 di un url verso un'altro url sempre tramite file .htaccess.

Ho la pagina: www.miosito.it/it/cucina/patate_al_forno/index.php
che voglio venga reindirizzata a: www.miosito.it/it/cucina/cipolle_al_forno/index.php

Scrivo il seguente comando:

# 301 PER SINGOLE PAGINE
RewriteEngine on
Redirect 301 /it/cucina/patate_al_forno/ https://it/www.miosito.it/it/cucina/cipolle_al_forno/

Vorrei scrivere così, senza index.php perché prima avevo il sito in .aspx e quindi in giro per il web ci sono ancora delle pagine in .aspx. E' corretto fare il redirect in quel modo?

Grazie ancora e buona serata.
 

macus_adi

Utente Attivo
5 Dic 2017
1.313
88
48
IT/SW
Vorrei scrivere così, senza index.php perché prima avevo il sito in .aspx e quindi in giro per il web ci sono ancora delle pagine in .aspx. E' corretto fare il redirect in quel modo?
Secondo me questa parte sarebbe da fare tramite codice php e non htaccess, in quanto dovresti prevedere la possibilità di aggiungere dei parametri dinamici, con la possibilità di creare non sole i redirect ma anche codici d'errore...

Es:
Pagina vecchia pippo/index.aspx

Pagina nuova pippo/pluto/paperino/index.php

La pagina nuova si riferisce alla vecchia, da htaccess impazziresti mentre da codice risulterebbe più facile gestire eventuali eccezioni...
Non so che framework hai usato, ma per la maggior parte è possibile creare degli hooks/middleware/pre routing per gestire proprio questa parte....
 

Maria Maria

Nuovo Utente
13 Apr 2019
7
0
1
Ciao Macus_Adi,
scusa ma non capisco cosa mi stai dicendo.
Perché impazzirei a mettere il codice redirect in .htaccess? E' sbagliato quello che ho scritto? Quali eccezioni dovrei gestire? Perché dovrei mettere delle pagine di errore?
Inoltre, dove dovrei scrivere il codice di redirect se la vecchia pagina non c'è più per dirgli di andare alla nuova pagina?
Non uso nessun csm per il momento.
Grazie.
 

macus_adi

Utente Attivo
5 Dic 2017
1.313
88
48
IT/SW
Non uso nessun csm per il momento.
Non ho parlato di CMS ma di framework...
Fai finta di avere 1850 articoli, inserisci nel file htaccess tutti i redirect?
Immagina adesso che
www.miosito.it/it/cucina/patate_al_forno/index.php possa essere visualizzato anche da
Per 1 sola route aggiungi 3 righe al file htaccess (compresa la tua)?

Il canonical come lo recuperi?
Punti di vista!
 

Maria Maria

Nuovo Utente
13 Apr 2019
7
0
1
Allora io avrò una cinquantina di pagine "sbagliate" che derivano quasi tutte da sbagliata indicizzazioni di Google. Per dirti: mi ritrovo la pagina
it/cucina/forno/cipolle/patate/ - pagina che non esiste in quanto la vera pagina è: it/cucina/forno/patate/
e allora faccio il 301.
Ciascuna pagina è unica. Non la ripeto in più rubriche.