Che cos'è un file htaccess?
Il .htaccess file in Apache è uno strumento che consente configurazioni a livello di directory e sottodirectory. Utilizzando .htaccess ti consente di configurare le autorizzazioni del sito Web senza alterare i file di configurazione del server.
Questo tutorial ti mostrerà come impostare e abilitare htaccess su Apache. Inoltre, fornisce istruzioni su come limitare l'accesso a localizzazioni specifiche sul server, gestire gli indirizzi IP e reindirizzare il traffico.
Prerequisiti
- Un server web Apache funzionante
- Accesso a una finestra di terminale/riga di comando
- Accesso a un account utente con privilegi sudo
- Un editor di testo, come N uno , incluso per impostazione predefinita
Fase 1:abilita Apache .htaccess
Per impostazione predefinita, .htaccess il file non è abilitato.
1. Aprire il file di configurazione dell'host predefinito immettendo il seguente comando nel terminale:
sudo nano /etc/apache2/sites-available/default
2. Individuare la sezione denominata
In quella sezione, modifica AllowOverride None
ingresso a tutti:
Consenti Sostituisci tutto
Salva il file ed esci.
3. Successivamente, riavvia il servizio Apache:
sudo systemctl apache2 restart
Fase 2:crea un file .htaccess
Come la maggior parte dei pacchetti software Linux, Apache funziona sui file di configurazione. Il .htaccess file è uno di questi. Funziona specificando un'impostazione insieme a un valore.
Per creare e aprire il .htaccess file per la modifica, immettere:
sudo nano /var/www/my_website.com/.htaccess
Sostituisci il mio_sito web con il nome del tuo sito web attuale. Se questo file non esiste, il tuo editor di testo lo creerà.
Fase 3:limitare gli elenchi di directory
Potrebbero esserci posizioni sul tuo server a cui desideri limitare l'accesso. Puoi farlo creando un elenco di nomi utente e password che sono autorizzati ad avere accesso.
1. Inizia creando un nuovo file, .htpasswd in una directory diversa:
sudo nano /user/safe_location/.htpasswd
Inserisci un nome utente e una password per ogni utente che desideri creare. Assicurati di utilizzare password complesse e inserisci solo una coppia nome utente/password per riga.
Salva il file ed esci.
2. Quindi modifica .htaccess per abilitare l'autenticazione :
AuthUserFile /user/safe_location/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
Sostituisci /user/safe_location/htpasswd con la posizione di tua scelta. Non archiviarlo nella stessa directory dei tuoi contenuti web, per motivi di sicurezza.
AuthUserFile
- Questo imposta la posizione per il tuo file .htpasswd.
AuthGroupFile
- Non stiamo usando un gruppo, quindi questo è un segnaposto.
AuthName
- Questa è la richiesta per l'utente:puoi riformularla se lo desideri.
AuthType
- Tipo di autenticazione utilizzato:non modificarlo.
Require valid-user
– Consente a una qualsiasi delle diverse persone autorizzate di accedere. Puoi cambiarlo in Richiedi utente new_user per limitare l'accesso solo a qualcuno con il nome utente nuovo_utente .
Gestisci indirizzi IP
Esistono molti modi per gestire gli indirizzi IP:
- Consenti solo IP specifici.
- Blocca indirizzi IP specifici.
- Blocca i visitatori dal referrer.
Consenti indirizzi IP
Per consentire gli indirizzi IP, puoi cambiare il comportamento per consentire alcuni indirizzi IP designati e bloccare il resto.
Inserisci i comandi:
order deny, allow
allow from 192.168.0.54
allow from 192.168.0
Blocca indirizzi IP
Per bloccare gli indirizzi IP in htaccess , inserisci:order allow, deny
Per bloccare un singolo indirizzo IP, inserisci il seguente codice:deny from 192.168.0.54
Se lasci la cifra finale, bloccherà tutti gli indirizzi IP nell'intervallo 0 - 255:
Ad esempio:deny from 192.168.0
Blocca i visitatori per referrer
Potresti voler impedire che le persone vengano reindirizzate da un sito specifico al tuo server. Questo potrebbe essere utile se desideri isolare i modelli di traffico. Potresti anche usarlo se ricevi traffico server in eccesso da una fonte discutibile.
Apri il .htaccess file e aggiungi il seguente blocco:
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC]
RewriteRule .* - [F]
Il NC
l'opzione indica di ignorare il maiuscolo o il minuscolo in modo che la regola non possa essere ignorata inserendo BlockedDomain.com .
Se desideri aggiungere più domini, tieni presente quanto segue:
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC,OR]
RewriteCond %{HTTP_REFERER} blockeddomain2\.com
RewriteRule .* - [F]
Il OR
flag indica al sistema che non hai ancora finito di aggiungere referrer bloccati. Ometti questa opzione nell'ultima voce.
Reindirizza il traffico
Puoi usare .htaccess file per reindirizzare il traffico.
Apri il file e inserisci quanto segue:
Redirect301/Other_Website.com/index.html/My_Website.com/index.html
Questo comando prende tutto il traffico che sta cercando Other_Website.com e lo reindirizza a My_Website.com .
Imposta una pagina 404
Puoi usare .htaccess file per puntare le funzioni di base in una nuova posizione. Un esempio è la pagina 404 .
1. Apri il .htaccess file e inserisci:
ErrorDocument 404 /404.html
Questa riga indica al sistema di cercare nella directory dei contenuti del sito Web un /404.html file come pagina di errore.
2. Crea la pagina 404 usando questo comando:
sudo nano cd /var/www/My_Website.com/public.html/404.html
Questo dovrebbe aprire il 404.htm l file nel tuo editor di testo.
3. Successivamente, aggiungi il seguente codice:
<!doctype html>
<html>
<body>
404 Error: Page not found
</body>
</html>
Questa pagina può ora essere personalizzata per visualizzare qualsiasi tipo di messaggio di errore desiderato. Puoi anche personalizzare qualsiasi altra pagina di errore che desideri. Basta specificare il ErrorDocument numero, ad esempio Errore 500 di punto .htaccess al nuovo error.html file che crei.