A cosa serve Redirect 301?
Redirect 301 – è un reindirizzamento permanente. Utilizzato per spostare la pagina in nuovo URL in modo permanente. Quando il cron dei motori di ricerca incontrano il redirect 301, capiscono che ora è necessario indicizzare una nuova pagina e quella vecchia può essere esclusa completamente dall’indicizazione.
Oltre a Redirect 301 esistono altri tipi di dedirect, ogniuno di loro ha il suo specifico significato. I più importanti sono:
- 300 – informa che per la query di ricerca si può andare non ad una, ma a più pagine alternative;
- 301 – premanente
- 302 – temporaneo
- 303 – ad una pagina simile nell’argomento
- 305 – aggancio tramite il server proxy
Puoi approfondire qui.
.htaccess
.htaccess è un file di configurazione del server Apache che consente di controllare il server e le impostazioni utilizzando i vari parametri senza modificare i file di configurazione.
La sintassi di .htaccess
La sintassi è abbastanza semplice, ogni comando inizia con una nuova riga, dopo il segno “#”. Le modifiche al sito hanno effetto immediato, non è necessario riavviare il server.
Caratteri speciali di base:
- ^ – l’inizio della riga;
- $ – fine riga;
- … – qualsiasi carattere;
- ⚹ – qualsiasi numero di qualsiasi carattere;
- ? – un carattere specifico;
- [0-9] – una sequenza di caratteri, ad esempio, da 0 a 9;
- | – il simbolo “o”, è selezionato un gruppo o un altro;
- () – usato per selezionare gruppi di caratteri
Principali variabili:
% {HTTP_USER_AGENT} - il campo User-Agent che viene inviato dal browser dell'utente;
% {REMOTE_ADDR} - indirizzo IP dell'utente;
% {REQUEST_URI} - URI richiesto;
% {QUERY_STRING} - parametri di ricerca dopo il segno "?"
Esempi di redirect
301 reindirizza da una pagina all’altra
Redirect 301 /page-1/ http://site-example.ru/page-2/
Redirect 301 da un dominio da WWW a un dominio senza WWW (il mirror principale è un dominio senza www)
RewriteCond %{HTTP_HOST} ^www.site-example.ru$ [NC]
RewriteRule ^(.*)$ http://site-example.ru/$1 [R=301,L]
Invece il Reindirizzamento 301 da https a http
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
Redirect 301 da un dominio senza WWW a un dominio con WWW (il mirror principale è un dominio con www)
RewriteCond %{HTTP_HOST} ^site-example.ru
RewriteRule (.*) http://www.site-example.ru/$1 [R=301,L]
Reindirizzamento 301 con richiesta di salvataggio dei parametri GET
RewriteCond %{REQUEST_URI} /index.php
RewriteRule ^(.*)$ http://site-example.ru/ [R=301,L]
Reindirizzamenti 301 per tutte le pagine di un dominio alla pagina principale di un altro dominio
RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ http://site-example.ru/ [L,R=301]