Hai problemi con i doppi reindirizzamenti 301 sul tuo dominio con WWW? Alcune pagine non vengono reindirizzate da HTTP a HTTPS? In questo articolo ti darò un rapido consiglio su come risolvere questo problema.
Questa funzione è la soluzione a diversi problemi come la mancanza di reindirizzamento, l'accesso al sito Web dalla versione http, errori di reindirizzamento multipli e molti altri.
Doppio reindirizzamento 301 su [http://www.]
Oggi sono andato a prendere l'SSL del mio sito httpstatus.io e mi sono imbattuto in due reindirizzamenti 301 nella mia versione con www e senza https dal sito web. Può sembrare insignificante ma è strettamente importante per il SEO del tuo sito web.
Come puoi vedere nell'immagine qui sotto, l'URL del sito con HTTP://WWW ha due reindirizzamenti 301, probabilmente uno per la versione HTTPS e un altro per la versione non WWW del sito.
Risolvere questo problema è abbastanza semplice. Uso Cloudflare, quindi ho effettuato l'accesso alla dashboard e al dominio CloudFlare e sono andato alla scheda Regole della pagina.
Lì ho creato un reindirizzamento di versione singola www direttamente alla versione https senza www. Questa regola, oltre a risolvere il problema, il più delle volte scarta la necessità di utilizzare qualche plugin o regola di reindirizzamento sul server. nginx o no .htaccess da apache.
Quando si accede al Regole della pagina, crea semplicemente una nuova regola di reindirizzamento www.miosito.com/* per https://meusite.com/$1 utilizzando la regola di reindirizzamento 301.
I valori [*] e [$1] sono importanti perché identificano a quale pagina sta entrando l'utente e reindirizzano direttamente alla versione https da quella pagina invece di reindirizzare alla home page.
Guarda come ho impostato il mio dominio di seguito. Fai lo stesso, quindi fai clic su Salva e svuota la cache di CloudFlare. Quindi il doppio reindirizzamento non esisterà più, lasciando solo un 301.
Ti consigliamo inoltre di leggere la nostra Guida a SEO e strumenti.
Reindirizzamento tramite file .HTACCESS
La stessa regola di reindirizzamento può essere applicata direttamente dal server se non utilizzi Cloudflare. Anche se consigliamo vivamente di utilizzare un CDN e di farlo su di esso.
La regola da applicare nel file .HTACCESS sarà di seguito. Ricorda, fallo solo se non stai usando Cloudflare.
<IfModule mod_rewrite.c
>
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.seusite\.com [NC]
RewriteRule (.*) https://seusite.com/$1 [L,R=301]
</IfModule
>
Reindirizzamento WWW in Nginx
Se il tuo server è puramente Nginx come il mio, è senza dubbio molto più semplice per te usare CloudFlare e il primo tutorial. Nel caso in cui tu sia ancora testardo, ti lascio una configurazione per Nginx, ma non passerò il mio tempo a spiegarlo, dato che non sono un professionista di Nginx Config:
#=========================#
# domain settings #
#=========================#
# Catch http://domain, and http://www.domain
server {
listen 80;
server_name www.domain domain;
# Redirect to https://domain
return 301 https://domain$request_uri;
}
# Catch https://www.domain
server {
listen 443;
server_name www.domain;
# Redirect to https://domain
return 301 https://domain$request_uri;
}
# Catch https://domain
server {
listen 443;
server_name domain;
root /usr/share/nginx/domain;
index index.html index.htm;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ =404;
}
}
Spero che i suggerimenti in questo articolo risolvano il tuo problema con il doppio reindirizzamento o nessun reindirizzamento WWW. Se ti è piaciuto, condividilo con i tuoi amici, non lasciare che il loro sito abbia un doppio reindirizzamento e male SEO i loro.