Come configurare .htaccess / mod_rewrite su Apache

Data:

GD Star Rating
loading...

Alcuni esempi pratici di utilizzo del file .htaccess sul vostro hosting.

Da ricordare. Per intervenire su un file .htaccess:

  1. creare un file di testo .htaccess, facendo attenzione ad inserire il punto di fronte all’estensione (in modo che venga interpretato dal sistema come file nascosto);
  2. Inserite le righe che desiderate testare, avendo cura di sostituire nomesito.com con il nome del vostro sito reale, file.php con il nome preciso del file sul CMS su cui lavorare e così via. Alla fine, salvate i cambiamenti sul file.
  3. Utilizzate un client FTP per caricare sul dominio appropriato le vostre modifiche, solitamente nella root del sito (path tipico: /home/nomeaccount)

Schermata 2013-06-17 alle 17.42.58
Esempi base.

Redirect 301 di un’intera cartella su una alternativa, sempre sullo stesso sito.

Options +FollowSymLinks %%richiesto dal mod_rewrite
RewriteEngine On
RewriteRule ^uno.*$ http://nomesito.com/due/ [R=301,L]

Redirect 301 di tutti i file nella cartella uno verso la cartella due.

Options +FollowSymLinks %%richiesto dal mod_rewrite
RewriteEngine On
RewriteRule ^uno/(.*)$ http://nomesito.com/due/$1 [R=301,L]

Redirect di file.php verso due/file.php

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} nomesito.com$ [NC]
RewriteCond %{HTTP_HOST} !due
RewriteRule ^(.*)$ http://nomesito.com/due/$1 [R=301,L]

Redirect 301 della root (miosito.it) su una sottocartella (miosito.it/cartella)

 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^(www.)?miosito.it$
 RewriteRule ^(/)?$ cartella [L]

Redirect di tutti i file e le cartelle da versione www.nomesito.com verso nomesito.com

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^nomesito.com [NC]
RewriteRule ^(.*)$ http://www.nomesito.com/$1 [R=301,L]

Redirect da http://nomesito.com a https://nomesito.com (utile per le pagine di acquisto degli e-commerce e tutte quelle che utilizzino SSL)

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.nomesito.com/$1 [R,L]

Canonicalizzazione ed eliminazione dei duplicati.

Nota: non si intendono gli eventuali duplicati di pagine sparsi per il web (per i quali è necessario un intervento SEO apposito) bensì quelli sullo stesso sito, ad esempio i duplicati della home, tipo:

  1. http://www.nomesito.com
  2. http://nomesito.com>
  3. http://www.nomesito.com/index.html
  4. http://nomesito.com/index.html
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^nomesito.com
RewriteRule (.*) http://www.nomesito.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html
RewriteRule ^index.html$ http://www.nomesito.com/ [R=301,L]

Definire la pagina di errore 404

ErrorDocument 404 http://www.yoursite.com/404.php

Redirect 301 di singole pagine

redirect 301 /old-page.php http://www.yoursite.com/new-page.php

Supporto ad URL dinamici (senza ?), quindi da abc.php?id=76 a abc/76 (utile anche questo per gli e-commerce)

RewriteEngine on
RewriteRule ^abc/([^/.]+)/?$ abc.php?id=$1 [L]

Migrazione redirect 301 globale dominio old.it -> new.it

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !new.it$ [NC]
RewriteRule ^(.*)$ http://www.new.it/$1 [L,R=301]

Migrazione redirect 301 globale dominio old.it -> new.it

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !new.it$ [NC]
RewriteRule ^(.*)$ http://new.it/$1 [L,R=301]

(nota: da caricare sulla root FTP di old.it, in questo caso non serve indicare il nome del dominio origine)

Esempi per CMS.

htaccess di default per WordPress

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Si noti come gli eventuali errori del file .htaccess si riflettano in un errore 500 sul server che rende di fatto inaccessibile l’intero sito web.


Scopri i corsi online per Vendere e comprare Domini - creare Landing Page efficaci - Creare Siti Web - Seo base - Seo Avanzato

Non andare via!

Abbonati al feed RSS per rimanere sempre aggiornato, e scopri le ultime novità sulla home del sito!


Come configurare .htaccess / mod_rewrite su Apache, 9.3 out of 10 based on 3 ratings

HostingVirtuale