Configurare il redirect del sito web in ServBay
Il redirect di un sito web è il processo che indirizza automaticamente i visitatori da un URL a un altro. Configurare i redirect in un ambiente di sviluppo locale è fondamentale per simulare il comportamento dell’ambiente di produzione, testare modifiche nella struttura degli URL o garantire che i vecchi link rimangano funzionanti nelle nuove versioni in sviluppo. ServBay, potente ambiente locale per lo sviluppo web, ti permette di configurare facilmente i redirect del sito tramite i server web integrati (Caddy o Nginx).
Panoramica
In ServBay, ciascun sito che crei è gestito tramite un file di configurazione server web separato. I redirect vengono implementati modificando questi file. ServBay supporta Caddy e Nginx come server web, offrendoti la libertà di scegliere quello più adatto alle tue esigenze di progetto o preferenze personali. Configurare un redirect di solito comporta la specifica del pattern di URL sorgente, dell’URL di destinazione e del tipo di redirect (come 301 redirect permanente o 302 redirect temporaneo).
Scenari di utilizzo
Gli scenari più comuni per configurare redirect del sito web su ServBay durante lo sviluppo locale sono:
- Simulazione dell’ambiente di produzione: Garantire che la configurazione locale segua le stesse regole di redirect del server di produzione.
- Test HTTPS: Forzare il redirect di tutte le richieste HTTP verso HTTPS, simulando una connessione sicura.
- Normalizzazione URL: Redirigere il dominio con
www
verso il dominio senzawww
o viceversa per mantenere la coerenza degli URL. - Gestione cambi di struttura degli URL: Quando cambi il percorso o la struttura delle pagine del sito, reindirizzare i vecchi URL ai nuovi per evitare errori "pagina non trovata" durante i test locali.
- Test migrazione dominio: Simulare il redirect dal vecchio dominio a uno nuovo.
Prerequisiti
Per configurare i redirect del sito web in ServBay, assicurati di avere:
- ServBay già installato e in esecuzione.
- Il sito su cui implementare il redirect già aggiunto e configurato in ServBay.
- Chiarezza su quale server web (Caddy o Nginx) utilizza il tuo sito.
Metodi di configurazione
ServBay fornisce un file di configurazione server web dedicato per ogni sito. Puoi accedere e modificarlo facilmente tramite l’interfaccia di ServBay.
Come accedere ai file di configurazione del sito
- Apri l’applicazione ServBay.
- Nel menu di navigazione a sinistra, clicca su Sito web (Website).
- Trova il sito per cui vuoi configurare il redirect e clicca sul suo nome per accedere ai dettagli.
- Nella pagina di dettaglio del sito, trova e clicca su "File di configurazione" o una voce simile (la posizione e il nome potrebbero variare leggermente in base alla versione di ServBay). Questa azione aprirà il file di configurazione relativo al server web del sito scelto.
A seguire, configura a seconda che il tuo sito utilizzi Caddy o Nginx.
Configurare redirect con Caddy
Se il tuo sito utilizza Caddy come server web, il file da modificare è il Caddyfile del sito. La sintassi di Caddyfile è semplice e immediata.
Ecco alcuni esempi pratici di configurazione dei redirect in Caddy. Inserisci queste direttive all’interno del blocco di indirizzo del sito ({}
).
Esempio 1: Redirect da HTTP a HTTPS
Di default, Caddy gestisce automaticamente il redirect da HTTP a HTTPS, purché tu abbia configurato correttamente il certificato SSL (sia con ServBay User CA che tramite ACME). Se ti serve un controllo più dettagliato, puoi usare la direttiva redir
:
servbay.demo {
# ... altre configurazioni ...
# Forza tutte le richieste HTTP a essere reindirizzate a HTTPS
# Se usi la funzionalità SSL di ServBay, questa regola di solito non è necessaria
# Ma per personalizzazioni, puoi aggiungere:
redir http://servbay.demo https://servbay.demo{uri} permanent
# ... altre configurazioni ...
}
2
3
4
5
6
7
8
9
10
Esempio 2: Redirect da non-www a www
Per reindirizzare servbay.demo
verso www.servbay.demo
:
servbay.demo {
# Redirige tutte le richieste di servbay.demo in modo permanente su www.servbay.demo
redir https://www.servbay.demo{uri} permanent
}
www.servbay.demo {
# Configurazione standard per www.servbay.demo
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... altre configurazioni ...
}
2
3
4
5
6
7
8
9
10
11
Esempio 3: Redirect da www a non-www
Per reindirizzare www.servbay.demo
verso servbay.demo
:
www.servbay.demo {
# Redirige tutte le richieste di www.servbay.demo in modo permanente su servbay.demo
redir https://servbay.demo{uri} permanent
}
servbay.demo {
# Configurazione standard per servbay.demo
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... altre configurazioni ...
}
2
3
4
5
6
7
8
9
10
11
Esempio 4: Redirect di path specifici
Per reindirizzare il vecchio /old-path
verso il nuovo /new-path
:
servbay.demo {
# ... altre configurazioni ...
# Redirect permanente da /old-path a /new-path
redir /old-path /new-path permanent
# Redirect temporaneo da /deprecated/page.html a /new/page/
redir /deprecated/page.html /new/page/ temporary
# ... altre configurazioni ...
}
2
3
4
5
6
7
8
9
10
11
Tipi di redirect in Caddy
permanent
: Redirect 301 (permanente), ottimale per la SEO.temporary
: Redirect 302 (temporaneo).internal
: Riscrittura interna, URL immutato (non un vero HTTP redirect).
Dopo aver modificato il Caddyfile, salva le modifiche: ServBay ricaricherà automaticamente (o ti chiederà di ricaricare) la configurazione di Caddy per renderla effettiva.
Configurare redirect con Nginx
Se il tuo sito utilizza Nginx come server web, dovrai modificare il file di configurazione Nginx (di solito con estensione .conf
). Nginx implementa i redirect tramite le direttive return
o rewrite
. return
è ideale per i redirect semplici e statici; rewrite
è più potente (supporta le espressioni regolari), utile per casi più complessi.
Ecco alcuni esempi pratici di configurazione di redirect in Nginx. Inserisci questi frammenti nel file .conf
del tuo sito, di norma all’interno del blocco server
.
Esempio 1: Redirect da HTTP a HTTPS
Se il tuo sito ascolta sia sulla porta 80 che sulla 443, aggiungi la regola di redirect nel server
che ascolta la porta 80:
server {
listen 80;
listen [::]:80;
server_name servbay.demo www.servbay.demo;
# Redirige tutte le richieste HTTP verso HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo www.servbay.demo;
# ... altre configurazioni per il sito in HTTPS ...
# ssl_certificate ...;
# ssl_certificate_key ...;
# Directory root del sito
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ... altri blocchi location e configurazioni ...
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Esempio 2: Redirect da non-www a www
Per reindirizzare servbay.demo
verso www.servbay.demo
:
server {
listen 80;
listen [::]:80;
server_name servbay.demo; # Ascolta il dominio senza www
# Redirige tutte le richieste verso www, mantenendo protocollo e uri
return 301 $scheme://www.servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.servbay.demo; # Ascolta il dominio con www
# ... normale configurazione del sito www ...
# ssl_certificate ...;
# ssl_certificate_key ...;
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ...
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Esempio 3: Redirect da www a non-www
Per reindirizzare www.servbay.demo
verso servbay.demo
:
server {
listen 80;
listen [::]:80;
server_name www.servbay.demo; # Ascolta il dominio con www
# Redirige tutte le richieste verso il dominio senza www
return 301 $scheme://servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo; # Ascolta il dominio senza www
# ... normale configurazione del sito senza www ...
# ssl_certificate ...;
# ssl_certificate_key ...;
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ...
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Esempio 4: Redirect di path specifici (con blocchi location
e return
o rewrite
)
Per reindirizzare /old-path
a /new-path
:
server {
# ... altre configurazioni del server ...
location = /old-path {
# Match esatto di /old-path e redirect permanente su /new-path
return 301 /new-path;
}
location /deprecated/ {
# Tutte le richieste sotto /deprecated/ vengono temporaneamente redirette su /archive/
rewrite ^/deprecated/(.*)$ /archive/$1 temporary;
}
# ... altri blocchi location ...
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Tipi di redirect in Nginx
301
: Redirect permanente.302
: Redirect temporaneo.redirect
: Equivalente a 302.permanent
: Equivalente a 301.
Dopo aver modificato il file .conf
di Nginx, salvalo: ServBay ricaricherà automaticamente (o ti chiederà di ricaricare) la configurazione di Nginx per renderla effettiva.
Considerazioni importanti
- Backup dei file di configurazione: Prima di ogni modifica, è consigliabile effettuare un backup del file per poter ripristinare la versione originale in caso di errori.
- Controlla la sintassi: Dopo ogni modifica, verifica la correttezza della sintassi. ServBay esegue spesso un controllo di base al salvataggio dei file, ma un controllo manuale è più sicuro. Per Nginx puoi anche usare il comando
nginx -t
(se Nginx è nel tuo PATH o usi la shell integrata di ServBay). - Testa i redirect: Dopo aver configurato i redirect, prova ogni scenario possibile nel browser (con/senza
www
, HTTP/HTTPS e path configurati) per assicurarti che tutto funzioni come previsto. - Cache del browser: I browser memorizzano i redirect 301. Se modifichi spesso le regole 301 durante i test, potresti incorrere in problemi di cache. In tal caso, svuota la cache o usa la modalità incognito/disattiva cache dalle DevTools del browser. Per test temporanei, è utile usare redirect 302, passando a 301 a configurazione definitiva.
- Reload di ServBay: Dopo ogni modifica dei file di configurazione, assicurati che ServBay abbia effettivamente ricaricato le impostazioni del server web. Di solito il reload è automatico, o può essere richiesto tramite la UI.
Domande frequenti (FAQ)
D: Ho impostato un redirect, ma il browser non effettua il reindirizzamento. Perché?
R: Le possibili cause sono:
- Errore di configurazione: Controlla la sintassi del file, assicurati che la modifica sia stata salvata.
- ServBay non ha ricaricato la configurazione: Verifica che le nuove impostazioni siano applicate.
- Cache del browser: Svuota la cache o prova in modalità incognito.
- Problemi di pattern URL: Controlla che la regola di redirect corrisponda esattamente all’URL/path su cui effettui il test.
D: Qual è la differenza tra i redirect 301 e 302? Quale dovrei usare in sviluppo locale?
R: 301 è un redirect permanente che comunica a browser e motori di ricerca che la risorsa si trova definitivamente nella nuova posizione, utile per la SEO. 302 è un redirect temporaneo, per spostamenti non definitivi. In sviluppo locale, se il test è temporaneo/di debug, preferisci 302 (non viene memorizzato dal browser); se stai simulando un redirect permanente (ad esempio per una futura migrazione dominio), usa 301.
D: Ho modificato il file di configurazione, ma ServBay segnala errori o il server web non parte. Cosa fare?
R: Di solito si tratta di errori di sintassi nel file di configurazione. Ricontrolla con attenzione le modifiche rispetto alla documentazione Caddyfile o Nginx. I log di ServBay possono darti dettagli utili sul tipo di errore.
Conclusioni
Configurare redirect del sito in ServBay è una delle operazioni più ricorrenti nello sviluppo locale. Può essere gestita semplicemente modificando i file di configurazione di Caddy o Nginx. Che tu debba simulare l’ambiente di produzione, testare HTTPS o gestire cambiamenti nella struttura degli URL, conoscere la sintassi delle regole di redirect (redir
per Caddy, return
/rewrite
per Nginx) ti aiuterà a ottenere risultati rapidi ed efficaci in ServBay. Dopo aver impostato le regole, ricordati sempre di testare approfonditamente e di prestare attenzione all’impatto della cache del browser.