Come creare un redirect 301 a un nuovo dominio

Sto modificando nginx.conf. Voglio reindirizzare tutte le pagine di domain1.com a domain2.com.

Come modificare il file per farlo funzionare.

Vedo una riga:

if($http_host != domain1.com){
   rewrite (.*) https://domain1.com$1 permanent;
}

Se cambio ‘=’ nell’istruzione if e reindirizzo al nuovo dominio, funzionerà o devo assicurarmi di modificare altre cose?

Esempio:

if($http_host = domain1.com){
   rewrite (.*) https://domain2.com$1 permanent;
}

In generale, lo configuro in questo modo:

server {
    listen 80;
    server_name domain1.com;
    return 301 https://domain2.com$request_uri;
}

La direttiva sopra può essere modificata in molti modi per adattarsi meglio alle tue esigenze.

Grazie, ho alcune domande.

Nel file di configurazione ho queste righe:

server {
   listen 80
    return 301 https://domain1.com$request_uri
}

Non so perché il 301 sia presente di default. Dovrei sovrascriverlo o crearne uno nuovo sopra o sotto (come hai fornito)? È necessario server_name?

Questo bloccherà il processo di rinnovo di Let’s Encrypt se reindirizzo tutto?

Stai modificando nginx.conf all’interno del container di Discourse o di un reverse proxy nginx esterno?

Se è interno, dovresti invece farlo nel file app.yml. Ci sono diversi esempi su come farlo.

Se lo stai facendo su un reverse proxy nginx esterno, puoi creare un nuovo file, ad esempio redirect.conf, nella cartella /etc/nginx/conf.d con l’esempio di configurazione che ho fornito.

all’interno del container. Cercherò soluzioni per app.yml. Ne ho vista una per le cartelle, spero di trovarne una per la modifica del dominio. Grazie.

L’hai già provato?

Sì, lo implementerò a breve. Grazie mille per il tuo tempo.

@itsbhanusharma Sto implementando il codice proprio ora. La mia domanda è: Let’s Encrypt si rinnoverà automaticamente dato che intendo mantenere il vecchio server per un po’ di tempo, finché Google non avrà aggiornato gli URL? C’è qualcosa che devo aggiungere per evitare che il rinnovo di Let’s Encrypt fallisca a causa di questa modifica del reindirizzamento 301?

Può funzionare questo? Set up Let’s Encrypt with multiple domains / redirects

Voglio escludere .well-known/acme-challenge dal reindirizzamento,

problema con reindirizzamento 301 e Let’s Encrypt