Cunniscenza Istruzzioni simplici per travaglià cù u serviziu Profitserver
Main Cunniscenza Configurazione di u schedariu .htaccess

Configurazione di u schedariu .htaccess


In questu articulu, scopreremu i principii fundamentali di l'usu di u schedariu .htaccess, chì hè cruciale per rinfurzà u SEO. Stu schedariu assicura una indexazione curretta di e pagine da i mutori di ricerca. Ampararemu cumu gestisce i redirects, cunfigurà a sicurità è aumentà u rendiment. Inoltre, daremu cunsiglii nantu à cumu cunfigurà stu schedariu indipindente.

Perchè .htaccess hè necessariu

U schedariu .htaccess agisce cum'è una spezia di "controllu remoto" per i sviluppatori web in i servitori Apache. Offre strumenti convenienti per aghjustà diversi parametri è gestisce u cumpurtamentu di un situ web. Quandu l'accessu direttu à i schedarii di cunfigurazione principali di u servitore ùn hè micca dispunibule (cum'è spessu u casu cù l'ospiti virtuale, per esempiu), .htaccess diventa un strumentu utile per fà i cambiamenti necessarii.

Htaccess si trova spessu in u cartulare principale di u vostru situ o in quelli cartulari induve hè necessaria una cunfigurazione speciale. Per esempiu, sè utilizate WordPress, a cunfigurazione pò esse fatta per mezu di u plugin Yoast SEO, chì avemu discuttu in l'articulu nantu à a cunfigurazione di robots.txt . In altri casi, basta à andà in u cartulare necessariu è mudificà u schedariu .htaccess esistente, o creallu s'ellu ùn hè ancu statu creatu.

Configurazione di u File .htaccess

301 Redirect htaccess

A redirezzione 301 in u schedariu .htaccess pò esse paragunatu à una redirezzione permanente in un situ web. Informa i mutori di ricerca è i navigatori chì a pagina hè oghji permanentemente situata in un novu indirizzu è suggerisce l'aghjurnamentu di i marcati è l'indici. Tali redirezzione hè tipicamente utilizata quandu una pagina hè mossa o sguassata per priservà u so ranking in i risultati di ricerca è redirige i visitatori à u novu locu.

Per attivà i redirects, avete bisognu di attivà u cumandamentu currispundente in u schedariu .htaccess:

RewriteEngine on

Dopu quì, pudete cunfigurà a forma più simplice di redirezzione:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>

Una redirezzione simile chì usa a direttiva RedirectPermanent s'assumiglia à questu:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>

Quessi sò i metudi di redirezzione i più faciuli da cunfigurà. Cunsideremu una cunfigurazione chì usa altri tipi di redirezzioni più avanzati cù u modulu mod_rewrite :

<IfModule mod_rewrite.c>
RewriteEngine On
    
# Redirecting from one page to another
RewriteRule ^old-page.html$ http://www.example.com/new-page.html [R=301,L]

# Redirecting all traffic from one domain to another
RewriteCond %{HTTP_HOST} ^oldsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com$
RewriteRule ^(.*)$ http://www.newsite.com/$1 [R=301,L]
    
# Redirecting from www to non-www (or vice versa)
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

# Redirecting from HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# Redirecting from one subdomain to another
RewriteCond %{HTTP_HOST} ^subdomain1.example.com$
RewriteRule ^(.*)$ http://subdomain2.example.com/$1 [R=301,L]
</IfModule>

A 302 redirect .htaccess, chì indica a traslocazione temporale, hè scontru assai menu freti. Eccu un esempiu di tali paràmetri:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>

Direttiva ErrorDocument

Stu paràmetru vi permette di cuntrullà ciò chì l'utilizatore vede quandu l'errore HTTP si trovanu in u vostru situ. Invece di u missaghju d'errore standard, pudete mustrà a vostra propria pagina, chì serà più informativa per u visitore è aiutanu à capisce ciò chì hè accadutu. Basta à seguità sta sintassi per l'usu:

ErrorDocument <error_code> <URL_page>

Per esempiu,

ErrorDocument 404 /errors/not_found.html

Significa chì quandu si verifica un errore 404 , a pagina in /errors/not_found.html serà aperta. L'URL assoluti sò specificati in modu simile:

ErrorDocument 500 http://example.com/errors/server_error.html

Questu esempiu indica a visualizazione di a pagina server_error.html à http://example.com/errors/ in casu d' errore 500.

Denegazione di l'accessu à un annuariu di u situ

U schedariu .htaccess hà u cumandamentu Deny from all , chì aiuta à negà l'accessu à certe cartelle o schedarii nant'à u vostru servitore web. Questu pò esse utile sè vulete piattà l'infurmazioni private o i schedarii impurtanti da i visitori di u situ per assicurà a sicurità di i dati.

Per disattivà a lista (vede tutti i cartulari dispunibili), avete bisognu di aghjunghje a linea:

Options -Indexes

Un esempiu di bluccà l'accessu à un repertoriu specificu s'assumiglia cusì:

<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>

In listessu modu, pudete nigà l'accessu à un unicu schedariu:

<Files "file.php">
Order Deny,Allow
Deny from all
</Files>

O per una gamma di schedari per estensione:

<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>

Bloccu l'accessu per IP

U bloccu di l'accessu per IP in u schedariu .htaccess hè un metudu chì vi permette di restringe l'accessu à u vostru situ web per indirizzi IP specifichi o i so gruppi. Questu pò esse utile se vulete impedisce l'accessu à u vostru situ o e so parti specifiche per certe persone o bots indesevuli.

Bluccà un unicu indirizzu IP hè fattu cù u cumandimu:

Order Deny,Allow
Allow from all
Deny from 11.22.33.44

U bluccamentu di parechji indirizzi IP hè fattu in modu simile duplicendu a linea " Deny from " cù l'indirizzi richiesti.

Per bluccà una gamma di indirizzi IP:

Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24

Per permette l'accessu solu per IP specifichi, aghjunghje u codice:

Order Deny,Allow
Deny from all
Allow from 11.22.33.44

Per una negazione cumpleta di l'accessu, aduprate a direttiva Deny from all , è per bluccà l'indirizzi per maschera, specificate Deny from 11.22.

Induve, 11.22 hè a maschera di l'indirizzu IP.

Blocca i visitatori da User-Agent

Blocking users by User-Agent in u schedariu .htaccess hè un metudu di cuntrullà quale pò accede à u vostru servitore web basatu annantu à l'infurmazioni nantu à u navigatore chì u visitatore usa. A stringa User-Agent cuntene dati nantu à u navigatore chì una persona usa per interagisce cù u vostru servitore, è grazia à questa informazione, pudete restringe l'accessu per certi utilizatori.

U modu più cumunu per bluccà da User-Agent hè di utilizà mod_rewrite :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Bot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot2 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot3 [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>

In questu esempiu:

  1. RewriteCond %{HTTP_USER_AGENT} hè utilizatu per verificà a stringa User-Agent.
  2. ^Bot1, ^Bot2, ^Bot3 sò esempi di stringhe User-Agent chì vulemu bluccà. I modificatori NC indicanu chì a paraguna deve esse insensibile à u casu.
  3. RewriteRule ^.*$ - [F,L] s'applica à a dumanda se qualcunu di e cundizioni RewriteCond sò scontri. Manda una risposta cù u codice di statutu 403 Proibitu (F) è ferma e regule di trasfurmazioni (L).

Caching in htaccess

A cunfigurazione di caching attraversu u schedariu .htaccess aiuta à accelerà u vostru situ facendu carica più veloce per l'utilizatori. Funciona cusì: certi schedari, cum'è l'imaghjini, i stili CSS è i script JavaScript, sò guardati in a cache di u navigatore di l'utilizatori dopu a prima carica. Avà u navigatore pò aduprà sti schedari da u cache, invece di ricaricà da u servitore ogni volta chì l'utilizatore visita una pagina. Questu reduce u tempu di carica è migliurà u rendiment di u situ.

Cunsiderate un esempiu:

# Enable caching for images for 1 month
<FilesMatch "\.(jpg|jpeg|png|gif|svg)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>

# Enable caching for CSS and JavaScript for 1 week
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

Per i risorse chì sò spessu aghjurnati, invece, hè necessariu disattivà a cache:

# Excluding caching for HTML pages and XML files
<FilesMatch "\.(html|xml)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "0"
</FilesMatch>

Optimizing Site Performance

I moduli mod_deflate è mod_gzip in Apache aiutanu à cumpressà l'infurmazioni chì u servitore manda à i dispusitivi di l'utilizatori. Questu rende i fugliali più chjuchi, ciò chì à u so tornu accelera u caricamentu di a pagina. Tuttavia, hè impurtante di ricurdà chì u supportu è a cunfigurazione di sti moduli ponu varià secondu u vostru servitore.

Esempiu d'usu di u modulu mod_deflate :

<IfModule mod_deflate.c>
# Compressing text file types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

Esempiu per mod_gzip :

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ # Enabling compression for files with extensions .html, .txt, .css, .js, .php, .pl
mod_gzip_item_include mime ^application/x-javascript.* # Enabling compression for MIME types starting with application/x-javascript
mod_gzip_item_include mime ^text/.* # Enabling compression for MIME types starting with text/
mod_gzip_item_exclude mime ^image/.* # Excluding from compression MIME types starting with image/
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* # Excluding already compressed data (responses with the Content-Encoding: gzip header)
</IfModule>

Avemu discuttu e direttive più cumunemente aduprate. Pudete familiarizàvi cù tutte e capacità di u schedariu in a ducumentazione ufficiale.

Cumu Verificate a Funzionalità di u File .htaccess

Per verificà s'ellu u vostru schedariu .htaccess travaglia nantu à u situ, pudete fà i seguenti passi:

  1. Cambia intenzionalmente u schedariu .htaccess cù un errore. In risposta, u servitore deve dà un errore. Stu metudu mostra se l'operazione di u schedariu hè generalmente appiicata à u servitore.
  2. Verificate a funziunalità di i cambiamenti specifichi chì avete fattu. Per esempiu, fate un aghjustamentu minore à unu di i paràmetri è evaluà a presenza di cambiamenti.
  3. Verificate u codice di statutu di a pagina se i cambiamenti sò ligati à a risposta di u servitore. Cumu fà questu, avemu descrittu prima in l'articulu Codici d'errore HTTP: una lista completa di l'errori di u servitore.
  4. Consultate i logs di u servitore. Mostranu tutti l'errori ligati à l'operazione di u schedariu .htaccess.
  5. Realizà a prova utilizendu servizii o strumenti in linea.

Hè impurtante di capisce chì per verificà a funziunalità di u schedariu .htaccess, ùn avete micca bisognu di fà tutti i passi in una volta. Hè abbastanza per sceglie u metudu più adattatu da a lista è aduprà.

cunchiusioni

A cunfigurazione di u schedariu .htaccess hè un passu impurtante in l'optimizazione è a prutezzione di u vostru servitore Apache. Avemu esploratu cumu stu schedariu aiuta à gestisce i redirects, cumpressà u cuntenutu è assicurà a sicurità. Quandu avete maestru di travaglià cù .htaccess, uttene un strumentu putente per migliurà u rendiment è a funziunalità di i siti web.

❮ Articulu precedente Cumu cunfigurà un servitore web (Apache-PHP-MySQL/MariaDB) in Linux
Articulu prossimu ❯ Configurazione di u servitore FTP

Dumandateci nantu à VPS

Semu sempre pronti à risponde à e vostre dumande à ogni ora di ghjornu o di notte.