Le basi di .htaccess: come usare ed esempi

Aggiornato: 2022-07-15 / Articolo di: Jerry Low
Le basi di .htaccess: come usare ed esempi

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 tuo host web - 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 tua cartella principale e un altro in una sottocartella. Ciò consente di impostare un comportamento del server diverso 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.

pubblicità

Il tuo file .htaccess potrebbe essere nascosto

Innanzitutto .htaccess è un file Apache, questo significa che puoi trovarlo solo in un file Server Apache.* Interrompi la ricerca se il tuo host è in esecuzione su un altro web server software (es. 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, attiva semplicemente "Mostra file nascosti" nel tuo FTP client o Hosting File Manager (vedi immagine sotto).

Trova il file .htaccess - Come mostrare i file nascosti nel file manager di cPanel
Esempio: mostra i tuoi file nascosti abilitando questa opzione in cPanel File Manager.

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

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

* Nota: Apache ha circa il tasso di utilizzo del mercato 22.8% per i primi milioni di siti in base al rapporto W3Techs di maggio 2022. I marchi di hosting più popolari citati in WHSR - A2 Hosting, BlueHost, GreenGeeks, Hostinger, InMotion Hosting sono alimentati da Apache. 

Utilizzo del file .htaccess: esempi di vita reale ed esempi di codice

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

Utilizzo di .htaccess ErrorDocument 404 per reindirizzare gli utenti a un'altra pagina.
Esempi di alcuni personalizzati in modo creativo 404 Errore pagine

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 l'ho salvato in una sottocartella nella tua directory web chiamata "pagine_error". Usando la seguente riga di codice in .htaccess, puoi richiamare quella pagina ogni volta che un visitatore incontra 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 - Cattiva richiesta
  • 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 On RewriteCond% {SERVER_PORT} 80 RewriteRule ^ (. *) $ Https://www.tuodominio.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 On 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 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 ciò avrai bisogno di due file, .htaccess e .htpasswd. Il file .htpasswd ne include alcuni crittografia, quindi usa uno strumento come 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 valid-user

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 specifichi quali file vuoi bloccare i siti dall'hotlinking. Fondamentalmente sta indicando ad Apache di bloccare tutti i collegamenti a quei file che non provengono da 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 \.) Example.com/.*$ [NC] RewriteRule \. (Gif | jpg) $ http: // www .example.com / stopstealing.gif [R, L]

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;

# proteggi .htaccess e .htpasswd Ordine consenti, nega Nega da tutti Soddisfa tutto

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. Dà web hosting gli utenti hanno un potere molto maggiore sui loro siti rispetto a quanto sarebbe normalmente consentito tramite un pannello di controllo e offrono 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.

Annunci

Domande frequenti sui file .htaccess

Ho bisogno di un file .htaccess?

No, l'uso di .htaccess non è obbligatorio. Tuttavia, è uno degli unici modi in cui gli utenti di hosting condiviso possono ottenere un certo controllo sui propri web hosting server. Se non prevedi di apportare modifiche alla configurazione del server sull'hosting condiviso, il file non è necessario.

Cosa contiene il file .htaccess?

Poiché il file .htaccess è per le configurazioni del server, contiene codice con le relative istruzioni. Ad esempio, la riga "SetEnv TZ America/yourtimezone" ti consentirà di impostare il fuso orario del server in base alle tue preferenze.

Come creo un file .htaccess?

Il modo migliore per creare un file .htaccess è utilizzare un semplice editor di testo. Ad esempio, puoi utilizzare Microsoft NotePad sul tuo computer locale e poi caricarlo sul tuo server di web hosting. In alternativa, la maggior parte dei gestori di file di hosting Web ti consentirà anche di creare file di testo normale.

WordPress ha un file .htaccess?

Il file .htaccess non è direttamente correlato a WordPress poiché è pensato per le configurazioni del server. Il tuo sito Web WordPress potrebbe averne uno o meno. Se non è presente, puoi comunque creare e utilizzare manualmente un file .htaccess.

Continua a leggere...

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.