.htaccess: la guida definitiva per usare il file htaccess

«
»

Questa guida è stata aggiornata il

Guida al file htaccess per il tuo sito WordPress – Esistono moltissimi fattori che ti permettono di personalizzare il tuo sito web, per esempio con Xlogic Hosting è possibile gestire le versioni PHP ed i relativi parametri direttamente dal miglior pannello di controllo presente sul mercato, cPanel Hosting.

Se non conosci cPanel lo puoi testare gratuitamente senza il bisogno di iscriverti o di lasciare i tuoi dati attraverso questa pagina: Demo cPanel

E’ possibile effettuare moltissime modifiche da cPanel WordPress, ad esempio puoi aumentare il limite di upload del sito web, il valore php Memory Limit, il valore Post Max Size ma ci sono delle operazioni che non possono essere effettuate direttamente da cPanel ma è necessario utilizzare un altro file molto importante se non indispensabile, mi riferisco al htaccess file.


Indice dei contenuti file .htaccess

1. Che cos’è il file .htaccess

2. Come visualizzare il file .htaccess

3. Come creare il file .htaccess WordPress

4. .htaccess WordPress – rendi sicuro il tuo sito

  1. Impedisci di scoprire il nome utente di WordPress
  2. Proteggi l’area di login di WordPress
  3. Autorizza determinati IP per accedere nel backend di WordPress
  4. Impedisci l’introduzione e l’esecuzione dei files .php
  5. Proteggi i files importanti di WordPress
  6. Proteggi la directory wp-includes
  7. Escludi la Directory dalla navigazione
  8. Proteggi il sito WordPress da aggiunte di codice

5. Quali operazioni puoi effettuare con il file .htaccess

  1. Effettua un htaccess redirect 301 o htaccess redirect 404
  2. Reindirizza tutto il traffico da http:// ad https://
  3. Impedisci la visualizzazione delle Directory
  4. Imposta i files principali
  5. Previeni l’hotlinking delle immagini
  6. Proteggi le tue cartelle con una Password
  7. Blocca gli indirizzi IP specifici che fanno Spam
  8. Come impostare WWW o non WWW
  9. Scopri come forzare il download dei files multimediali
  10. Visualizza gli errori che possono essere presenti in un sito

6. .htaccess test – scopri se hai inserito bene le regole all’interno del tuo sito WordPress


.htaccess: la guida definitiva per usare il file htaccess

.htaccess: la guida definitiva per usare il file htaccess

Attraverso il file htaccess è possibile effettuare moltissime operazioni, come ad esempio htaccess rewrite, .htaccess redirect, il ripristino di determinati documenti, l’attivazione della cache di WordPress, la gestione dei Robot e Crawler dei motori di ricerca come Google e Bing. 

Moltissime persone hanno paura di mettere mano al file .htaccess anche perché se la modifica non viene effettuata correttamente c’è il rischio che il sito WordPress non venga più visualizzato.

Detto questo, all’interno di questo articolo ti spiegheremo esattamente che cos’è il file htaccess, come funziona e quali sono le operazioni che possono essere effettuate inclusi i principali trucchi ed ottimizzazioni del file htaccess wordpress

Ma ancora prima di iniziare ad elencare le operazioni che possono essere effettuate, è necessario capire che cos’è il file .htacces e quale è la sua funzione.

Che cos’è il file .htaccess

Il file .htaccess è un file di configurazione utilizzato dal Web Server Apache che può comunicare a quest’ultimo come presentare varie forme di informazione e come gestire alcune intestazioni di richiesta HTTP.

In pratica il file .htaccess è un mezzo di decentralizzazione per poter organizzare le funzionalità di ogni singolo sito web in un unico posto.

E’ anche possibile utilizzare un file .htaccess per ciascun sito web ma non lo consigliamo perché potrebbe non essere sicuro ed il tuo account potrebbe essere soggetto ad un eventuale attacco hacker.

Come visualizzare il file .htaccess

Il file htaccess editor può essere visualizzato e modificato accedendo via FTP oppure accedendo all’interno del Gestore File di cPanel, solitamente il file non è visibile, quindi è necessario visualizzare le cartelle ed i files nascosti, scopri come visualizzare il file .htaccess

Come creare il file .htaccess WordPress

Il tuo sito web potrebbe non possedere di default un file .htaccess, nessun problema! Puoi creare il file htaccess generator direttamente da cPanel o utilizzando un Editor di testo come il Blocco Note o NotePad++

Devi semplicemente generare un nuovo file chiamandolo .htaccess ed inserire all’interno questo codice:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Se invece hai attivato Multisite su WordPress dovrai utilizzare il seguente codice:

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L]
RewriteRule . index.php [L]

htaccess WordPress – proteggi il tuo sito WP

WordPress è il CMS più utilizzato sul Web, quindi abbiamo deciso di dedicare un paragrafo esclusivamente per WordPress .htaccess, vediamo insieme in che modo puoi aumentare la sicurezza e le performance del tuo sito WordPress grazie al file .htaccess editor:

a) .htaccess – impedisci di scoprire il nome utente di WordPress

Se un utente inserisce l’URL tuosito.com/?author=1, viene rendirizzato all’interno della pagina dell’autore, in questo modo l’utente ha la possibilità di raccogliere tutti i nomi utenti usati da chi ha pubblicato contenuti sul tuo sito.

Se l’utente è un malintezionato e vuole bucare il tuo sito WordPress deve solamente trovare la password che se non è complessa può succedere che il tuo sito sia in serio pericolo.

Per evitare questa situazione devi semplicemente inserire all’interno del file htaccess il seguente codice:

 RewriteCond %{QUERY_STRING} author=d
 RewriteRule ^ /? [L,R=301]

b) .htaccess password – proteggi l’area di login di WordPress

Tutti gli utenti che utilizzano WordPress sanno che per accedere al backend del CMS devono effettuare il login mediante il percorso /wp-admin oppure /wp-login.php

Per rendere più sicuro il proprio sito web WordPress è possibile proteggere con una Password l’area di Login per accedere nel backend di WordPress.

Apri il file .htaccess ed inserisci quanto segue:

1
2
3
4
5
6
7
8
9
Order Deny,Allow
Deny from All
Satisfy Any
AuthName "Protected By AskApache"
AuthUserFile /web/askapache.com/.htpasswda1
AuthType Basic
Require valid-user

E’ anche possibile proteggere con password le altre cartelle, per conoscere il codice da inserire per proteggere altre Directory guarda questo link.

c) Autorizza determinati IP per accedere nel backend di WordPress

Se hai un ip statico puoi limitare l’accesso solamente al tuo IP all’interno della bacheca di WordPress, gli indirizzi IP non autorizzati verranno rimandati alla pagina di errore 404.

Per far questo è necessario inserire il seguente codice all’interno del file .htaccess e sostituire “Il tuo indirizzo IP1” con il tuo indirizzo IP statico, se non lo conosci lo puoi visualizzare accedendo all’interno del sito mio-ip.org!

ErrorDocument 401 /tuo-sito-wordpress/index.php?error=404
ErrorDocument 403 /tuo-sito-wordpress/index.php?error=404
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^Il tuo indirizzo IP 1$
RewriteCond %{REMOTE_ADDR} !^Il tuo indirizzo IP 2$
RewriteCond %{REMOTE_ADDR} !^Il tuo indirizzo IP 3$
RewriteCond %{REMOTE_ADDR} !^Il tuo indirizzo IP 4$
RewriteCond %{REMOTE_ADDR} !^Il tuo indirizzo IP 5$
RewriteRule ^(.*)$ - [R=403,L]

d) Impedisci l’introduzione e l’esecuzione dei files .php

La maggior parte delle volte un virus / malware si trova all’interno di un file eseguibile come il file .php, quindi per evitare che accada questa disgrazia ti consigliamo di aggiungere all’interno del file questo codice:

RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude.php
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/
RewriteRule wp-content/plugins/(.*.php)$ - [R=404,L]
RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude.php
RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/
RewriteRule wp-content/themes/(.*.php)$ - [R=404,L]

e) Proteggi i files importanti di WordPress

Attraverso questo codice potrai proteggere files importanti come il file error_log ed il file di configurazione WordPress nonché wp-config.php

<FilesMatch "^.*(error_log|wp-config.php|.[hH][tT][aApP].*)$">
Order deny,allow
Deny from all
</FilesMatch>

f) Proteggi la directory wp-includes

All’interno della cartella wp-includes si trovano moltissimi files importanti, tramite questo codice bloccherai l’accesso a qualsiasi persona.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

g) Escludi la Directory dalla navigazione

Essendo che WordPress ha una struttura predefinita, qualsiasi persona la può conoscere, quindi inserendo il codice sotto riportato puoi escludere la directory dalla navigazione.

Options All -Indexes

h) Proteggi il sito WordPress da aggiunte di codice

Gli hacker tentano sempre di modificare le variabili di WordPress _REQUEST e GLOBAL per provare ad accedere all’interno del sito web, mediante questo codice impedisci di far inserire del codice all’interno di WordPress.

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

Quali operazioni puoi effettuare con il file .htaccess

Prima di effettuare qualsiai operazione sul file htaccess WordPress ti consigliamo di eseguire sempre un backup completo del tuo sito web.

Se sei cliente di Xlogic Hosting hai la possibilità di generare un backup su cPanel oppure puoi acquistare il servizio di Backup automatico JetBackup, in questo modo non dovrai più pensare a nulla perché per qualsiasi problema avrai la possibilità di ripristinare un backup in due semplicissimi click.

Il file può essere utilizzato sia su un sistema htaccess apache ma anche su un sistema htaccess litespeed, a proposito, noi di Xlogic Hosting utilizziamo LiteSpeed, un sostituto di Apache migliore in termini di velocità e di sicurezza, se non conosci il Web Server LiteSpeed ti invito a consultare questa pagina: LiteSpeed – CloudLinux.

Scopri quali sono le principali operazioni che puoi effettuare inserendo delle determinate regole all’interno del file rewriterule htaccess.

a) Come effettuare un htaccess redirect 301 o redirect 404

I redirect 301 sono necessari quando si vuole indicare ai crawler dei motori di ricerca che una determinata pagina è stata spostata definitivamente ad un altro indirizzo, per far questo è necessario inserire questo codice:

Redirect 301 /vecchio.php http://www.nuovosito.com/nuovo.php

esempio: Redirect 301 https://test.xlogic.org/ https://xlogic.org

In questo modo l’utente che accederà all’interno del sottodominio test.xlogic.org verrà reindirizzato al sito principale nonché xlogic.org

Mentre l’errore 404 è molto importante e se non viene gestito nel migliore dei modi rischia di danneggiare il nostro sito web, quindi per poter risolvere il problema è necessario inserire nel file .htaccess il seguente codice:

# Pagina per errori 404
ErrorDocument 404 /errore-404.html

In questo modo l’utente che visualizza una pagina non esistente verrà automaticamente reindirizzato alla pagina 404.

b) Come reindirizzare tutto il traffico da http:// ad https://

A google piacciono i siti web sicuri, quindi è molto importante che tutto il traffico venga reindirizzato mediante il protocollo https://, per far questo devi inserire il seguente codice all’interno del file:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Se non possiedi un certificato SSL diventa nostro cliente! Offriamo gratuitamente su tutti i nostri piani Hosting uno o più certificati SSL della Comodo per tutti i tuoi domini e sottodomini!

c) Come impedire la visualizzazione delle Directory

E’ necessario inserire questo codice all’interno del file htaccess quando ad esempio il visitatore visualizza un immagine del sito ma se modifica il percorso riesci a vedere anche tutti gli altri files che non dovrebbero essere visibili, mi spiego meglio facendo un esempio:

1) Il visitatore visualizza questa immagine:

  • https://xlogic.org/images/server02.png

2) Se non inserisci il codice, qualsiasi visitatore avrà la possibilità di visualizzare anche gli altri files presenti all’interno della cartella /images/

In pratica con il file .htaccess impedisci ai visitatori di visualizzare il contenuto delle directory.

Per impedire la visualizzazione delle directory e dei files presenti, devi creare un file .htaccess all’interno di ogni cartella che non vuoi rendere visibile e devi inserire questo codice:

1
Options -Indexes

d) Impostazioni della Directory

E’ possibile comunicare al Web Server quali documenti dovrebbero essere inizialmente trattati come i documenti principali, devi semplicemente inserire questo codice:

1
DirectoryIndex index.html index.cgi index.php

Questo significa che i tre files indicati all’interno del file .htaccess (in ordine di inserimento) verranno considerati dal sistema come files principali per poter rendere visibile il tuo sito web.

e) Come prevenire l’hotlinking delle immagini

Questa situazione si verifica quando altre persone copiano l’url di un immagine da un tuo articolo o pagina e la usano sul proprio sito, in questo modo non la caricano sul loro Server ma utilizzano la tua banda rallentando così il tuo sito WordPress.

Per evitare questo problema è necessario accedere all’interno del file htaccess ed inserire questo codice:

RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} 
!^https://(www.)?your-site.com/.*$ [NC] RewriteRule .(gif|jpg)$ 
https://www.your-site.com/hotlink.gif [R,L]

Al posto di your-site.com devi inserire il nome del tuo dominio mentre invece di https://www.your-site.com/hotlink.gif devi inserire l’intero percorso dove si trova l’immagine da proteggere.

f) Come proteggere le tue cartelle con una Password

La protezione delle Directory con una Password è una procedura molto comune che ha il compito di proteggere le aree di amministrazione e molte altre cartelle ritenute importanti all’interno del tuo sito WordPress.

Segui questa procedura per proteggere una determinata cartella con una Password:

1) Crea un file .htaccess all’interno della cartella che desideri proteggere

2) Inserisci il seguente codice all’interno del file htaccess password:

AuthName “Area Protetta”
AuthUserFile /path/to/password/file/.htpasswd
AuthType Basic
require valid-user

  • La prima riga indica al Server che la Directory protetta è denominata “Area Protetta”
  • La seconda riga indica la posizione del file Password
  • La terza riga indica la tipologia di Autenticazione
  • La quarta riga indica che abbiamo bisogno di credenziali di accesso valide che può essere usata anche per specificare un nome utente specifico come ad esempio: ‘require user username’ richiede il nome utente ‘username’.

3) Sostituisci all’interno del file .htaccess il percorso (/path/to/password/file/.htpasswd) con il percorso reale che permette di connettere il file .htaccess password all’interno del tuo sito WordPress.

4) Crea il file .htpasswd all’interno della cartella che hai scelto ed inserisci questo codice all’interno del file htaccess:

username:encryptedpassword
xlogic_test:lWE10RTRaaCVFUc1
K

Hai la possibilità di generare una password complessa cliccando su questo link: htpassword generator

g) Firewall .htaccess – come bloccare determinati indirizzi IP per Spam

E’ possibile riconoscere potenziali visitatori che effettuano Spam e negare loro l’accesso al tuo sito web; Questa operazione può sembrare estrema ma a volte può succedere che una persona o un gruppo di persone prendano di mira il tuo sito web e questa può essere un’ottima soluzione per bloccare gli attacchi.

Puoi scegliere anche un dominio di riferimento per negare o escludere i visitatori da un indirizzo IP.

1
2
3
4
order allow,deny
deny from 200.0.0.0
deny from 130.50.5.
allow from all

Questo blocco di IP avrà come target il primo IP (200.0.0.0) ed ogni IP entro l’intervallo di 130.5.5.(da .0 a 200).

h) Dominio e Sottodominio – WWW e non WWW

I motori di ricerca possono indicizzare il sito web sia con www che senza www, però conviene impostarlo solamente in un unico modo, per far questo è necessario inserire il seguente codice:

1
2
3
4
5
6
7
8
9
# Forza il sottodominio con www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^dominio.it [NC]
RewriteRule ^(.*)$ http://www.dominio.it/$1 [L,R=301]
# No Sottodominio
RewriteEngine On
RewriteCond %{HTTP_HOST} !^dominio.it$ [NC]
RewriteRule ^(.*)$ http://dominio.it/$1 [L,R=301]

Questo codice proviene da questo archivio e fornisce una soluzione molto utile.

i) Forza il Download dei files multimediali al posto di essere visualizzati sul Browser

Attraverso questo codice potrai permettere al visitatore di effettuare il download diretto del file multimediale invece di produrre il video o l’audio direttamente dal Browser:

1
AddType application/octet-stream .zip .rar .mp3 .avi .mp4

Ovviamente dovrai inserire all’interno del codice il formato che ti interessa.

j) Visualizza gli Errori .htaccess

Solitamente questi errori “numerici” vengono visualizzati solamente lato server, in questo modo potrai conoscere tutti gli errori che possono essere presenti sul tuo sito web.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
ErrorDocument 100 /100_CONTINUE
ErrorDocument 101 /101_SWITCHING_PROTOCOLS
ErrorDocument 102 /102_PROCESSING
ErrorDocument 200 /200_OK
ErrorDocument 201 /201_CREATED
ErrorDocument 202 /202_ACCEPTED
ErrorDocument 203 /203_NON_AUTHORITATIVE
ErrorDocument 204 /204_NO_CONTENT
ErrorDocument 205 /205_RESET_CONTENT
ErrorDocument 206 /206_PARTIAL_CONTENT
ErrorDocument 207 /207_MULTI_STATUS
ErrorDocument 300 /300_MULTIPLE_CHOICES
ErrorDocument 301 /301_MOVED_PERMANENTLY
ErrorDocument 302 /302_MOVED_TEMPORARILY
ErrorDocument 303 /303_SEE_OTHER
ErrorDocument 304 /304_NOT_MODIFIED
ErrorDocument 305 /305_USE_PROXY
ErrorDocument 307 /307_TEMPORARY_REDIRECT
ErrorDocument 400 /400_BAD_REQUEST
ErrorDocument 401 /401_UNAUTHORIZED
ErrorDocument 402 /402_PAYMENT_REQUIRED
ErrorDocument 403 /403_FORBIDDEN
ErrorDocument 404 /404_NOT_FOUND
ErrorDocument 405 /405_METHOD_NOT_ALLOWED
ErrorDocument 406 /406_NOT_ACCEPTABLE
ErrorDocument 407 /407_PROXY_AUTHENTICATION_REQUIRED
ErrorDocument 408 /408_REQUEST_TIME_OUT
ErrorDocument 409 /409_CONFLICT
ErrorDocument 410 /410_GONE
ErrorDocument 411 /411_LENGTH_REQUIRED
ErrorDocument 412 /412_PRECONDITION_FAILED
ErrorDocument 413 /413_REQUEST_ENTITY_TOO_LARGE
ErrorDocument 414 /414_REQUEST_URI_TOO_LARGE
ErrorDocument 415 /415_UNSUPPORTED_MEDIA_TYPE
ErrorDocument 416 /416_RANGE_NOT_SATISFIABLE
ErrorDocument 417 /417_EXPECTATION_FAILED
ErrorDocument 422 /422_UNPROCESSABLE_ENTITY
ErrorDocument 423 /423_LOCKED
ErrorDocument 424 /424_FAILED_DEPENDENCY
ErrorDocument 426 /426_UPGRADE_REQUIRED
ErrorDocument 500 /500_INTERNAL_SERVER_ERROR
ErrorDocument 501 /501_NOT_IMPLEMENTED
ErrorDocument 502 /502_BAD_GATEWAY
ErrorDocument 503 /503_SERVICE_UNAVAILABLE
ErrorDocument 504 /504_GATEWAY_TIME_OUT
ErrorDocument 505 /505_VERSION_NOT_SUPPORTED
ErrorDocument 506 /506_VARIANT_ALSO_VARIES
ErrorDocument 507 /507_INSUFFICIENT_STORAGE
ErrorDocument 510 /510_NOT_EXTENDED

htaccess tester – scopri il file htaccess di un sito

Controlla le regole di rewrite htaccess inserendo semplicemente l’url alla quale stai appicando le regole, posiziona il contenuto all’interno dell’area dedicata e procedi ad effettuare la verifica, ecco come! Testa le regole del file htaccess

htaccess tester xlogic

 

Alla prossima!

.htaccess: la guida definitiva per usare il file htaccess ultima modifica: 2018-06-07T11:39:11+02:00 da Andrea (Xlogic.org)

Lascia un commento

*
*

Vuoi un sito più veloce, potente e sicuro?

HOSTING WORDPRESS

Scopri i nostri piani Hosting WordPress

Ok, nessun problema!

Scopri perché dovresti acquistare il piano Hosting WordPress 

Installazione, trasferimento, configurazione ed assistenza WordPress inclusa a partire da 64 euro l'anno.