Le basi di .htaccess

Articolo scritto da:
  • Guide di hosting
  • Aggiornato: Jun 29, 2013

Capire il file .htaccess di un server è una componente chiave del Web Design and Development

La maggior parte dei client di hosting Web amatoriali e dei nuovi sviluppatori Web presuppongono che la parte più importante di qualsiasi configurazione del server sia il software installato. Installano febbrilmente le loro applicazioni basate su ASP o su PHP, nella speranza di creare contenuti avanzati controllati da software diffusi e vaste tabelle e tabelle di database. Ma in mezzo a questa raffica di attività, quasi tutti gli sviluppatori inizialmente ignorano uno dei file più importanti e potenti sul server stesso. Tale file è noto come file ".htaccess" e controlla tutto ciò che forma i messaggi di errore in pagine protette da password, la struttura permalink agli utenti bloccati che non possono vedere il contenuto del sito.

Il file ".htaccess" risiede nella directory pubblica root del server per impostazione predefinita. Sui server Linux, quella directory è quasi sempre chiamata "public_html". Per le sottocartelle che devono beneficiare della potenza di questo file, un file secondario ".htaccess" può essere inserito all'interno di ogni sottocartella e altra directory sul server stesso. Ogni file o cartella all'interno di una directory con un file ".htaccess" eredita le autorizzazioni e le linee guida di quel file a meno che non venga sovrascritto da una versione codificata del file. Se sembra complesso, ciò è dovuto a una tecnica moderatamente avanzata di controllo del comportamento del server. Tuttavia, non è impossibile da imparare. E una volta che uno sviluppatore o un novizio dei clienti di hosting Web impara a controllare il proprio server usando questo file, troveranno impossibile tornare ai giorni in cui un file ".htaccess" era una seccatura che era difficilmente capita, per non parlare dell'uso.

Password Proteggi Directories è un Snap con il file .htaccess

La sicurezza del server di hosting Web è qualcosa che quasi tutti i clienti esaminano prima di impegnarsi in qualsiasi società di hosting o tecnologia server specifica. Per la maggior parte, i server Windows e Linux sono ugualmente sicuri, mantenendo le informazioni lontane da quelli che non dovrebbero averlo. Ma questo è vero solo per quanto riguarda la difesa dagli hacker e dagli script Web dannosi. Quando si tratta di proteggere password di file o directory specifici, tutto il lavoro deve essere fatto dal file .htaccess separato dalle tecnologie del server o dalle funzionalità di sicurezza.

Il file .htaccess ha il suo stile unico di protezione di queste directory, come stabilito dal suo linguaggio e dalle sue tecniche di programmazione linea per linea. In questo caso, un utente definisce semplicemente la directory da proteggere e quindi imposta i parametri richiesti per accedere a tale directory nel file stesso. Tale password può essere applicata a un solo file, a un'intera directory o all'intero server stesso quando vi si accede tramite un normale browser Web. La semplice configurazione a riga singola di una password di file o directory appare come nell'esempio seguente quando è stata completamente compilata e avviata.

AuthUserFile /public_html/secure/files/.htpasswd
AuthGroupFile / dev / null
AuthName EnterPassword
AuthType di base
richiede utente secureUser

Queste linee di codice sono abbinate a un nuovo file chiamato ".htpasswd". Questo file si trova nella directory che è protetta e contiene il nome utente e la password che consentiranno agli utenti di accedere alle informazioni protette. Nell'esempio sopra, è stato specificato che solo l'utente "secureUser" può avere accesso alla directory, e devono inserire la password richiesta come determinato dalla riga di codice "AuthName EnterPassword" che si trova appena sopra l'utente definizione.

Nel file ".htpasswd" che verrà creato nella directory protetta, gli utenti dovranno solo aggiungere una singola riga di codice. Il formato è semplice; ogni combinazione di utente e password è separata usando i due punti. Ciò significa che semplicemente aggiungeranno "user: password" al file. In questo caso, sarebbe "secureUser: securedirectorypassword1" come esempio. Questo definirà tutti i possibili codici di accesso e nomi utente. Gli amministratori del sito possono certamente includere più utenti e password all'interno di questo elenco, a condizione che rimuovano la distinzione "richiedi utente secureUser" il file ".htpasswd". In alternativa, potrebbero definire più password per lo stesso nome utente mantenendo quella riga di codice, garantendo che l'accesso possa essere revocato da determinati individui o gruppi in qualsiasi momento se la password corretta viene cancellata dal file ".htpasswd".

Per saperne di più su questo problema, leggi: Usando .htpasswd con il tuo account di hosting condiviso di Linux.

Definire collegamenti facili da ricordare ai contenuti del sito Web e alle pagine statiche

Uno degli usi correnti più diffusi del file ".htaccess" è quello di usare i parametri del file per definire semanticamente facile "permalinks"per il contenuto del sito e le pagine statiche quando si utilizzano software di gestione dei contenuti come WordPress o MovableType .Questo non solo aiuta gli utenti a ricordare e ricaricare il contenuto del sito, ma migliora anche il ranking di ricerca di un sito Web sui principali motori di ricerca. quale contenuto è su una determinata pagina e se il contenuto corrisponde o meno all'URL. Una corrispondenza titolo-URL indica più autorità e una maggiore probabilità che un utente possa trovare le informazioni che sta cercando. Appropriato, il sito si posiziona più in alto principali motori di ricerca quando si utilizza la struttura permalink.

Per gli utenti che hanno installato WordPress sui server del proprio sito, la riga seguente viene aggiunta durante il processo di installazione quasi come un requisito, in particolare con le versioni più recenti del software dalla versione 3.0 e successive. La linea di codice appare esattamente come nell'esempio qui sotto ed è standard per più di 60 milioni di clienti WordPress self-hosted in tutto il mondo.

RewriteEngine On
RewriteBase /
RewriteCond% {} REQUEST_FILENAME!-F
RewriteCond% {} REQUEST_FILENAME!-D
RewriteRule. / Index.php [L]

Di nuovo, è facile vedere la struttura linea per linea delle istruzioni di programmazione dei file ".htaccess". Queste poche semplici righe di codice dicono al server di utilizzare il file "index.php" di WordPress come base per tutti gli URL che hanno origine nella soluzione software di gestione dei contenuti stessa. Usando quel file come base e riscrivendo i titoli delle voci come permalink, la riscrittura dell'URL essenzialmente combina le query del database con i permessi dei file per creare URL "amichevoli". La modifica di un file ".htaccess" per riscrivere i propri URL è attualmente il principale, se non solo, modo di costruire URL più amichevoli da PHP e soluzioni software per la gestione dei contenuti basati su ASP.

Guida dei motori di ricerca a contenuti trasferiti di recente in locale o in remoto

Mentre i permalink sono stati progettati per eliminare il processo di contenuti trasferiti casualmente e reindirizzamenti intensivi, non hanno completamente eliminato il problema. In effetti, i permalink possono essere gestiti all'interno del pannello di controllo di qualsiasi soluzione di gestione dei contenuti; nel momento in cui un utente modifica la struttura del permalink, tutto ciò che rientra nel quadro del software CMS può scomparire e generare errori sia per i motori di ricerca che per gli utenti. Questo può essere eliminato come problema con una linea molto semplice di codice ".htaccess" che reindirizza i clienti e genera un errore "invisibile" nei principali motori di ricerca. Il codice è questo:

Reindirizza 301 / archivio / / entrate precedenti /

Questo reindirizzamento colloca il vecchio e il nuovo URL fianco a fianco con il vecchio URL elencato per primo. Indica al server di lanciare un errore di reindirizzamento 301 su browser e motori di ricerca "spider" allo stesso modo, ma questo errore non viene mai visto dall'utente finale. Invece, un reindirizzamento 301 è un errore invisibile che si verifica dietro le quinte. Mentre l'utente viene automaticamente portato al nuovo percorso e ai nuovi contenuti, il browser e il motore di ricerca capiscono che "301" significa "permanentemente spostato". Sia il browser che i motori di ricerca che riscontrano questo errore aggiorneranno immediatamente i loro record per riflettere il nuovo URL e rimuoveranno immediatamente quello vecchio.

Questo è un ottimo modo per passare a un nuovo nome di dominio senza perdere clienti, pure. Il file ".htaccess" sul vecchio server può essere utilizzato per puntare effettivamente al contenuto su un nome di dominio completamente nuovo con solo poche modifiche alla riga di codice presentata sopra. Invece di puntare a due percorsi relativi sullo stesso server, il codice di reindirizzamento 301 in questo caso sarà simile al seguente:

Reindirizza 301 / http://www.your-domain-name.com

Questo indica al server di inviare qualsiasi cosa nella directory principale o in qualsiasi sottocartella al nuovo nome di dominio esattamente nello stesso percorso in cui si trovava sul vecchio server. Tutto ciò che cambia è il vero nome del dominio stesso. Ancora una volta, poiché utilizza il codice di errore 301, i motori di ricerca aggiorneranno automaticamente i loro record per riflettere il nuovo nome di dominio. Questo non è solo un ottimo strumento per l'usabilità, ma impedisce anche a un sito web di perdere il suo posizionamento nei motori di ricerca. Invece di ricominciare, i motori di ricerca capiranno che questo è lo stesso sito web in una nuova posizione. Manterranno le loro vecchie percezioni e classifiche e l'amministratore trarrà grandi vantaggi dall'impiego di questo metodo unico di spostamento tra i domini.

Da errori invisibili e reindirizzamenti alle pagine di errore effettive per i visitatori del sito

È certamente vero che il file ".htaccess" è specializzato nel reindirizzare gli utenti a nuovi contenuti aggiornando in modo invisibile i motori di ricerca, ma questo file univoco può anche essere utilizzato per visualizzare pagine di errore specifiche quando il contenuto è mancante, non può essere visualizzato o è codificato in tale un modo in cui gli errori impediscono il caricamento della pagina. Questo viene fatto specificando una pagina specifica per la visualizzazione in base al codice di errore a tre cifre del server. Questi codici sono integrati in servizi come Apache e IIS, quindi non c'è una reale necessità di configurazione oltre al file ".htaccess". L'esempio seguente affronta la pagina di errore più comune al mondo, nota come "Errore 404" per le pagine e le directory mancanti.

ErrorDocument 404 /404.html

Ogni volta che un utente si imbatte in un link che non esiste più, o in una sottocartella che è stata cancellata, verrà automaticamente reindirizzato dal file ".htaccess" a una pagina di errore 404 informativa e utile che può essere personalizzata e specificatamente progettata dal amministratore del sito web. Questo è un ottimo modo per riportarli nella piega piuttosto che mandarli via con una pagina di errore semplice e indefinibile che non offre alternative alla pagina persa.

Lo stesso processo può essere completato praticamente per ogni tipo di errore di caricamento della pagina basato sul server esistente. Questo include errori del server 401, 403 e 500 oltre al tipico inconveniente di "pagina non trovata" riscontrato dalla maggior parte degli utenti. Assicurati di ricercare il significato di ogni codice di errore e di presentare un messaggio personalizzato e una progettazione del sito per ogni errore che possa riportare gli utenti al contenuto del sito esistente con facilità. È il modo migliore per garantire che anche i fallimenti logici o di navigazione di un sito siano trasformati in opportunità e successi.

Quando All Else non riesce, gli utenti non sono in linea con poche righe di codice

Per la maggior parte, il file ".htaccess" viene utilizzato per cose che tendono a funzionare a favore dell'utente medio. Ciò include le pagine di errore, i metodi di reindirizzamento personalizzato e gli URL di permalink "amici", oltre ad altre fantastiche funzionalità. Ma questo file può anche essere usato per assicurarsi che ad alcuni utenti venga semplicemente negato l'accesso al sito interamente. È un ottimo modo per escludere coloro che "spam" i commenti del sito, spesso causano interruzioni o discussioni tra gli altri lettori, o semplicemente non possono gestire i loro privilegi di accesso in modo responsabile.

Per mantenere l'integrità di un sito e assicurarsi che altri lettori non migrino ad altri siti web per pura frustrazione con solo poche mele marce, il file ".htaccess" consente di vietare indirizzi IP specifici o interi intervalli (o "blocchi") di indirizzi IP. Ciò significa che interi paesi possono essere banditi, interi ISP possono essere banditi o interi stati, comunità o organizzazioni possono essere costretti ad andare altrove per leggere il loro contenuto quotidiano e causare problemi. Quando viene utilizzato nel file ".htaccess" del sito, il processo di bannare un utente è simile al seguente:

consentire da tutti
negare da 158.23.144.12
negare da 24.100

Nell'esempio sopra, al sito viene richiesto di consentire ai visitatori di tutti gli indirizzi IP, ad eccezione di quelli che visitano dall'indirizzo IP 158.23.144.12. Inoltre, a tutti i visitatori della gamma 24.100 di indirizzi IP viene negato l'accesso a un sito. Probabilmente questa serie vieta all'intera clientela di un fornitore di servizi Internet di leggere il contenuto di un sito. Siate certi, tuttavia, che questo a volte è necessario nei casi più gravi.

Abbraccia il file .htaccess e utilizza alcune funzioni di Power Over Site

La cosa grandiosa del file .htaccess è che consente agli amministratori del server di controllare le impostazioni che sono altrimenti considerate molto avanzate o quelle che richiedono l'accesso "root" al server. Questo file è un ottimo modo per gestire l'accesso, gli errori, i reindirizzamenti e persino la struttura degli URL e il senso semantico. Padroneggiarlo è la chiave per proteggere e responsabilizzare i visitatori nuovi e di ritorno di un sito.

Articolo di Jerry Low

Papà geek, drogato di dati SEO, investitore e fondatore di Web Hosting Secret Revealed. Jerry ha creato risorse Internet e guadagna online sin da 2004. Ama scribacchiare senza cervello e provare il nuovo cibo.