GNU/Linux >> Linux Esercitazione >  >> Panels >> cPanel

Come impostare regole e reindirizzamenti in .htaccess

Come impostare regole e reindirizzamenti in .htaccess

.htaccess è un file di configurazione a livello di directory supportato dal server Web Apache. Viene utilizzato per modificare la configurazione del server Web (abilitare o disabilitare funzionalità aggiuntive) per l'account specifico senza modificare le impostazioni globali del server.

Il file .htaccess ha effetto sull'intera directory in cui si trova, comprese tutte file e sottodirectory. Le modifiche apportate a questo file verranno implementate immediatamente e non è richiesto il riavvio del server.


Come individuare il file .htaccess
Elenco delle regole .htaccess comunemente utilizzate:
  • Autorizzazione/autenticazione 
  • Blocco 
  • Pagine di errore personalizzate 
  • Mod_Rewrite (regole di reindirizzamento)
  • Modifica della directory principale del dominio
Disabilitazione delle regole .htaccess esistenti


Per accedere al file .htaccess principale del tuo account di hosting, procedi nel seguente modo:

1. Accedi al tuo cPanel .
2. Vai alla sezione File>> Gestione file :



3. Se desideri modificare il file .htaccess per il tuo dominio principale, vai a public_html cartella. Se devi apportare alcune modifiche al dominio aggiuntivo, passa a public_html/youraddodomain.com cartella.

Una volta lì, assicurati che Mostra file nascosti (dotfiles) l'opzione è abilitata in Impostazioni menu:



4. Individua .htaccess file, fai clic con il pulsante destro del mouse>> Modifica :



5. Se non ci sono file .htaccess nel tuo File manager, sentiti libero di crearne uno nuovo usando File opzione:



Sei ​​pronto per aggiungere le tue regole di configurazione e salvarle.



L'uso comune le regole di un file .htaccess sono elencate di seguito:


Autorizzazione/autenticazione – specifica le restrizioni di sicurezza per una directory/sottodirectory.
Puoi proteggere con password una directory, o più di esse, e ogni volta che un visitatore tenta di accedervi, verranno richiesti nome utente e password.

Per impostare tale protezione, è necessario:

1. Crea la directory che vuoi proteggere in /home/cpanel_user/.htpasswds/ cartella (ad es. per public_html/test il percorso sarà .htpasswds/public_html/test/).
       

2. Crea una passwd file in questa directory e aggiungere i dettagli di accesso con hash utilizzando questo generatore online.

3. Aggiungi le seguenti direttive a .htaccess:

AuthType Basic
AuthName "Directory Name" AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd" require valid-user


Blocco – blocca gli utenti per indirizzo IP o dominio. È molto utile per bloccare i visitatori indesiderati o per consentire l'accesso ad alcune sezioni del sito da parte del suo titolare, ad esempio l'area di amministrazione.
Per impostare determinate regole di blocco, crea un file .htaccess con il seguente testo:

  • per consentire l'accesso a tutti gli altri e bloccare gli utenti con un indirizzo IP X.X.X.X
<RequireAll>
Require all granted
Require not ip X.X.X.X
</RequireAll>

  • per bloccare tutti i visitatori ad eccezione degli specifici IP X.X.X.X e Y.Y.Y.Y
<RequireAll>
Require all denied
Require ip X.X.X.X
Require ip Y.Y.Y.Y
</RequireAll>

NOTA: Non combinare il deprecato Consenti , Nega e Ordine direttive con il nuovo Richiedi direttiva.

Pagine di errore personalizzate – consente di creare pagine di errore personalizzate per un sito. Questa opzione è molto utile in quanto ti consente di mostrare ai visitatori del sito Web un messaggio di errore corrispondente al tema del tuo sito Web se un URL sul tuo sito Web non funziona. Questo aiuta ad evitare l'errore predefinito "404 File non trovato", ad esempio, e ti consente di visualizzare un errore progettato su misura con le indicazioni guida nel contenuto del tuo sito web, invece di lasciare perplessi.
Per impostare un documento di errore personalizzato , crea un file .htaccess con il seguente testo di seguito:

ErrorDocument 404 /404.html

Ogni volta che viene visualizzato un errore 404 (File Not Found), questa riga indica al server Web Apache di caricare un file 404.html che si trova nella directory root del dominio per cui hai impostato la pagina di errore.

NOTA :Per impostare un documento per altri errori (403, 500, ecc.), basta sostituire 404 con il codice di errore corrispondente e /404.html con il percorso del file di errore.


Mod_Riscrivi – specifica come le pagine web e gli URL vengono visualizzati ai visitatori.

Vorremmo richiamare la vostra attenzione sull'uso delle regole Mod_Rewrite nel file .htaccess.

Per impostazione predefinita, Mod_Rewrite associa un URL a un percorso del filesystem. Tuttavia, può anche essere utilizzato per reindirizzare un URL a un altro URL.

Prima di creare un reindirizzamento, dovresti scegliere il tipo di reindirizzamento che sarebbe più preferibile per te:

  • Reindirizzamento permanente ha un codice di stato 301 e, a differenza di quello temporaneo, è memorizzato nella cache del browser. Implica che la pagina è stata spostata e richiede a tutti i motori di ricerca e agli user agent che arrivano alla pagina di aggiornare l'URL nel loro database. Questo è il tipo più comune di reindirizzamento.
  • Reindirizzamento temporaneo significa che la pagina sta inviando il codice di stato 302 al browser. Il codice 302 dice al browser di non memorizzare nella cache questo reindirizzamento nei dati salvati. Reindirizzerà il visitatore o il motore di ricerca, ma il motore di ricerca continuerà a indicizzare alla pagina originale. Questo è il tipo di reindirizzamento consigliato, a meno che tu non sia assolutamente sicuro che non lo cambierai mai in futuro.

L'elenco dei reindirizzamenti più comuni e utili, impostabili tramite il file .htaccess, lo trovi di seguito (i domini specificati negli esempi vanno sostituiti con i tuoi):


Reindirizzamento permanente da esempio.com a domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com/$1" [R=301,L]

Reindirizzamento temporaneo da esempio.com a domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com\/" [R=302,L]

NOTA :Di seguito sono riportati gli esempi di reindirizzamenti permanenti. Uno temporaneo può essere definito sostituendo [R=301,L] con [R=302,L] alla fine del codice (ove necessario).


Reindirizzamento da esempio.com/sottocartella da a domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^subfolder/$ "http\:\/\/domain\.com\/" [R=301,L]


Reindirizzamento da HTTP a HTTPS per esempio.com

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R,L]

o

RewriteCond %{SERVER_PORT} 80      
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]


Reindirizzamento da non WWW a WWW

  • per qualsiasi dominio .htaccess ha effetto su:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

  • per un determinato dominio, example.com:
RewriteEngine On     
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]


Reindirizzamento da WWW a non WWW
  • per qualsiasi dominio .htaccess ha effetto su:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

  • per un determinato dominio, example.com:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]

Reindirizza tutte le pagine example.com alle pagine domain.com corrispondenti
RedirectMatch 301 ^/(.*)$ http://domain.com/$1

NOTA :Tutti i nomi delle pagine devono corrispondere su entrambi i domini, altrimenti il ​​reindirizzamento porterà a un messaggio "Pagina non trovata" sul sito web di destinazione.

Reindirizza una pagina a un nuovo URL
Redirect 301 /old_page.html http://www.domain.com/new_page.html

NOTA :Potrebbe essere utile quando desideri reindirizzare una pagina eliminata a un errore 404 o per scopi SEO dopo l'aggiornamento dei riferimenti ai contenuti.



Modifica la directory principale per il dominio principale in public_html/sottocartella

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]

NOTA :Il file .htaccess dovrebbe trovarsi nella directory root del dominio per cui desideri configurare determinate regole.


Disabilitazione delle regole .htaccess esistenti

Se devi disabilitare alcune delle regole esistenti, ad esempio a scopo di test, puoi semplicemente commentarle. Per farlo, aggiungi il cancelletto # all'inizio di ogni riga della regola.
Inoltre, è possibile disabilitare la linea o anche il blocco di linee selezionando quelle e usando il Ctrl + / scorciatoia.




Ecco fatto!


                     Hai bisogno di aiuto? Contatta il nostro HelpDesk

Articoli associati

Come impostare la protezione interna per .htaccess
cPanel
  1. Come impostare la protezione interna per .htaccess

  2. Come impostare reindirizzamenti di dominio in cPanel

  3. Come impostare le direttive PHP usando .php.ini

  4. Come abilitare ExecCGI tramite il file .htaccess?

  5. Come impostare un file come NON eseguibile?

Come configurare server e client NFS su CentOS 8

Come impostare la pagina dell'indice da cPanel tramite .htaccess?

Come limitare l'accesso al tuo sito web usando .htaccess e cPanel IP Blocker

Come posso impostare un reindirizzamento su cPanel?

Come impostare una versione php tramite .htaccess in cPanel?

Come impostare ed eseguire un cron in cPanel