Le basi di .htaccess: Come usare ed esempi

Articolo scritto da:
  • Guide di hosting
  • Aggiornato: Sep 23, 2019

Cos'è un file .htaccess?

Il file .htaccess è un SlimCleaner (normalmente chiamato solo Apache) file di configurazione. Il file è estremamente potente e può essere utilizzato per aiutare a controllare più aspetti delle pagine Web offerte da Apache. Questo include cose come la gestione dei reindirizzamenti, la protezione hotlink e altro.

Dov'è il file .htaccess?

Dovrebbe esserci un file .htaccess nella cartella principale del web host - la cartella (di solito / public_html o / www) che contiene il contenuto del tuo sito web.

Puoi avere più di un file .htaccess sul tuo account di hosting, ma ogni directory o cartella può averne solo uno. Ad esempio, puoi avere file .htaccess separati nella cartella principale e un altro in una sottocartella. Ciò consente di impostare un comportamento diverso del server in base alla struttura della directory.

Il file .htaccess è potente ma può essere consultato e modificato se non protetto correttamente. Assicurati di prendere provvedimenti per impedire l'accesso a questo file.

Non riesco a trovare il mio file .htaccess

Prima di tutto .htaccess è un file Apache, questo significa che è possibile trovarlo solo in un server Apache. * Interrompere la ricerca se l'host è in esecuzione su un software server Web diverso (ad esempio Microsoft IIS o NGINX).

Nomi di file che iniziano con un punto solitamente nascosto. Ciò significa che in genere non sono visibili per impostazione predefinita.

Per visualizzare questo file, è sufficiente attivare "Mostra file nascosti" nel client FTP o nel Gestore file di hosting (vedere l'immagine sotto).

Trova il file .htaccess - Come mostrare i file nascosti nel file manager di cPanel
Esempio: consente di visualizzare i file nascosti attivando questa opzione in cPanel File Manager.

Potresti ritenere che il file .htaccess sia un inconveniente poiché richiede la codifica, ma considera l'utente che deve stabilire lo stesso comportamento del server su più siti. Tutto quello che dovrà fare è duplicare il file .htaccess.

I file .htaccess sono file di configurazione del server e dal momento che indirizzano il comportamento direttamente, non è necessario eseguire qualcosa ogni volta che viene effettuata una richiesta. Ad esempio, è molto meno dispendioso in termini di risorse rispetto all'utilizzo di un plug-in.

* Nota: Apache ha circa il tasso di utilizzo del mercato 30% basato sul rapporto W3Techs. I marchi di hosting più popolari menzionati a WHSR - A2 Hosting, BlueHost, GreenGeeks, Hostinger, InMotion Hosting, SiteGround; sono alimentati da Apache.

A cosa serve .htaccess?

Sebbene ci sia un punto davanti al nome del file, htaccess è il nome del file e il punto non lo rende un'estensione. In particolare, è proprio questo nome file che Apache cerca quando viene eseguito. Qualsiasi cosa all'interno del file .htaccess imposta i parametri per Apache per abilitare o disabilitare le funzioni o persino eseguire attività specifiche quando vengono soddisfatte determinate condizioni.

Ad esempio, in base alle istruzioni contenute nel file, Apache può caricare automaticamente pagine di errore personalizzate se i visitatori del tuo sito Web cercano una risorsa che non è presente. Ogni tipo di errore ha il proprio codice e ognuno di questi può essere reindirizzato individualmente.

C'è un enorme elenco di cosa si può fare usando il file .htaccess e oggi ne condividerò alcuni con te.

1. Gestione delle pagine di errore personalizzate

Didascalia: esempi di alcune pagine di errore 404 personalizzate in modo creativo

Quando viene lasciato alle impostazioni predefinite, la maggior parte dei software per server web invia ai visitatori una pagina di errore dall'aspetto molto squallido. Se vuoi visualizzare una pagina di errore più user-friendly (o almeno presentabile), dovrai usare la gestione personalizzata dei documenti di errore nel tuo file .htaccess.

Diciamo che hai progettato un pagina di errore 404 personalizzata chiamato "404.html" e salvato in una sottocartella nella tua directory web chiamata "error_pages". Usando la seguente riga di codice in .htaccess, puoi chiamare quella pagina ogni volta che un visitatore rileva un errore 404;

ErrorDocument 404 /error_pages/404.html

Usando questa tecnica, puoi salvare copie personalizzate di ogni singolo tipo di errore che vuoi rendere conto e impostarle per essere chiamate includendo il codice necessario nel tuo file .htaccess. Il più comunemente incontrato codici di errore includere;

  • 400 - Richiesta non valida
  • 403 - Proibito
  • 404 - File non trovato
  • 500 - Errore interno del server
  • 503: servizio non disponibile

2. Gestire i reindirizzamenti

Potrebbero esserci occasioni in cui desideri impostare un reindirizzamento generale in modo da poter indirizzare i visitatori a pagine specifiche senza che loro lo sappiano. Ad esempio, se in origine hai utilizzato HTTP ma da allora installato SSL e spostato in HTTPS, vorresti che tutti i tuoi utenti usassero la versione HTTPS del tuo sito.

In questa situazione, ciò che devi fare è usare la regola Riscrivi;

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

Il codice per questo può essere modificato a seconda delle esigenze. Ad esempio, se si desidera reindirizzare gli utenti dal vecchio dominio a uno nuovo, si dovrebbe utilizzare;

RewriteEngine su RewriteCond% {HTTP_HOST} ^ olddomain.com [NC, OR] RewriteCond% {HTTP_HOST} ^ www.olddomain.com [NC] RewriteRule ^ (. *) $ Http://newdomain.com/$1 [L, R = 301, NC]

Esistono molte varianti su come impostare i reindirizzamenti. Dettagli del sintassi per riscrittura può essere trovato nel Documentazione di Apache pagine.

Una delle cose più utili che i reindirizzamenti possono fare per te è aiutarti a guidare i motori di ricerca verso le pagine che hai spostato. Normalmente, i motori di ricerca indicizzeranno i collegamenti e se non riescono a trovare le pagine giuste, presumeranno che il contenuto sia sparito.

Utilizzando un reindirizzamento, puoi spostare facilmente i contenuti e consentire ai crawler web di sapere dove trovare il contenuto che hanno precedentemente indicizzato. Per farlo, usa;

Reindirizza 301 / archivio / / entrate precedenti /

L'istruzione 301 non consente solo agli utenti di accedere ai vecchi contenuti senza problemi, ma serve anche come istruzione ai web crawler che il contenuto viene spostato in modo permanente. Questo li aiuta consentendo loro di ri-indicizzare i collegamenti rapidamente.

3. Aumenta la sicurezza del tuo sito web

Trovo che molti nuovi proprietari di siti Web tendono a fare troppo affidamento su troppo strumenti esterni per aumentare la sicurezza del proprio sito Web. Anche se è vero che ci sono un sacco di ottime applicazioni là fuori, puoi iniziare con le basi nel tuo file .htaccess.

Password Proteggi le directory

Per fare questo avrai bisogno di due file, .htaccess e .htpasswd. Il file .htpasswd include un po 'di crittografia, quindi usa uno strumento simile Htpasswd Generator per creare il file. Il file .htaccess dovrebbe includere questo codice;

AuthType Basic AuthName "Area protetta da password" AuthUserFile /path/to/.htpasswd Richiedi utente valido

Disabilita la navigazione nella directory

Questo è uno dei più facili da fare e richiede solo due righe di codice da includere nel file .htaccess;

# Disabilita la navigazione nella directory Opzioni -Index

Blocca IP specifici

Per impedire ai singoli IP di visitare il tuo sito, aggiungi il seguente codice al tuo file .htaccess;

Rifiuta da XXX.XXX.XXX.XXX

Dove sostituisci XXX con i valori IP numerici. Esistono varianti di questo codice che possono essere utilizzate per bloccare un intervallo di indirizzi IP o più indirizzi IP.

4. Protezione Hotlink

L'hotlinking si verifica quando altri siti web si collegano alle immagini che stai ospitando. Questo è indesiderabile perché stanno facendo uso sia del tuo spazio che della larghezza di banda. Per evitare il collegamento di immagini hotlink, aggiungi quanto segue al tuo file .htaccess;

RewriteEngine su RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ Http: // (www \.) Example.com/.*$ [NC] RewriteRule \. (Gif | jpg | jpeg | bmp) $ - [F]

L'ultima riga di quel codice è dove si specifica quali file si desidera bloccare i siti dall'hotlinking. Fondamentalmente sta istruendo Apache a bloccare tutti i collegamenti a quei file che non provengono dal nome di dominio http://www.example.com/.

Molte persone che collegano l'hotlink spesso non controllano più i loro post, quindi se davvero vuoi metterli in imbarazzo, puoi mostrare un messaggio personalizzato ai siti che stanno cercando di collegarsi;

RewriteEngine su RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ Http: // (www \.) Esempio.com/.*$ [NC] RewriteRule \. (Gif | jpg) $ http: // www .example.com / stopstealing.gif [R, L]

Quale può visualizzare un'immagine alternativa sul sito incriminato in questo modo:

5. Proteggere il file .htaccess

Ormai ti stai rendendo conto di quanto sia utile un file .htaccess. Da quando sei arrivato a quella realizzazione, è ora che pensi di proteggere questo prezioso file! Se stai usando un file .htpasswd, probabilmente vorrai anche proteggerlo e il modo per farlo è farlo;

# protect .htaccess e .htpasswd <Files ~ "^. * \. ([Hh] [Tt])"> Autorizza, nega Nega da tutti Soddisfa tutti </ Files>

Si noti che sulla maggior parte dei server sicuri questi file sono già protetti. Prima di aggiungere questo codice, controlla se è possibile accedere ai file in una finestra del browser. Basta digitare l'URL e aggiungere un /.htaccess dietro per vedere se è possibile visualizzare il file. Se non puoi, ti verrà mostrato un messaggio di errore.

6. Impostazione del fuso orario del server

Se ti accorgi che per qualche motivo, le volte sul tuo server sembrano essere un po 'scarse, potresti dover forzare un fuso orario usando il file .htaccess. Questo è qualcosa che è di nuovo facile da fare e richiede solo una singola riga di codice;

SetEnv TZ America / yourtimezone

C'è un enorme elenco di fusi orari disponibili e puoi trovare la corrispondenza più vicina alla tua facendo riferimento al elenco dei fusi orari supportati.

Abbraccia il potere di .htaccess

I campioni che ho mostrato qui sono solo la punta di un iceberg molto grande. Fornisce agli utenti del web hosting molta più potenza sui loro siti di quanto sarebbe normalmente consentito attraverso un pannello di controllo e fornisce loro una gamma più ampia di strumenti con cui lavorare.

Imparare a usare il codice è semplicemente un passo avanti con la potenza di Google, e la cosa migliore è che devi solo scegliere e imparare le cose che devi usare.

A proposito di Jerry Low

Fondatore di WebHostingSecretRevealed.net (WHSR) - una recensione di hosting fidata e utilizzata dagli utenti di 100,000. Più di 15 anni di esperienza in web hosting, affiliate marketing e SEO. Collaboratore di ProBlogger.net, Business.com, SocialMediaToday.com e altro.