TheJoe.it Into the (open) source

26feb/104

Alcuni consigli nell’uso di “.htaccess”

not_found.jpg Arrivato al terzo post consecutivo su “.htaccess” credo sia il caso di dire che l’argomento mi intrighi sufficientemente. Oggi vedremo alcuni consigli e customizzazioni nell’uso di “.htaccess”, migliorando le prestazioni del nostro server.

Creazione della pagina “404 Not Found”

La pagina “404 Not Found” che Apache imposta di default è volutamente spoglia. Per dare un tocco di professionalità al nostro sito consiglio di crearne una sulla base della grafica generale del sito, come da esempio allegato.

404_custom.jpg

E’ possibile creare anche le pagine dedicate agli altri errori. Vediamo come:

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

Ottimizzazione motori di ricerca

Può capitare che nel corso del tempo una pagina venga cancellata o spostata. E’ sempre possibile lasciare un link su quella vecchia che punti a quella nuova, ma non è sempre consigliato, soprattutto se vogliamo una buona indicizzazione. Usando “.htaccess” abbiamo la possibilità di effettuare il redirect in modo che il motore di ricerca non si accorga di essere reindirizzato.

Redirect 301 /d/file.html http://www.htaccesselite.com/r/file.html

Nascondere la finestra download

Solitamente, quando tentiamo di salvare qualcosa, incorriamo nella tipica finestra di Firefox (quando usiamo Firefox) che ci chiede se vogliamo salvare o aprire il file. Per evitare questo passaggio basta inserire nel nostro “.htaccess” le seguenti righe:

AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov

Bloccare l’accesso ad “.htaccess”

Per la sicurezza del server è sempre meglio bloccare gli accessi indesiderati al file “.htaccess”.

# mettere in sicurezza .htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>

Lo stesso meccanismo si applica a qualsiasi altro file residente nel server:

# escludere l'accesso a certi file
<files default.jpg>
order allow,deny
deny from all
</files>

Disabilitare il browsing delle directory

Anche questo è un accorgimento importante per la sicurezza. Per evitare che chi naviga si ritrovi la lista dei file nella directory corrente è sufficiente aggiungere le seguenti righe:

# disable directory browsing
Options All -Indexes

Impostare la pagina predefinita

E’ sempre possibile cambiare la pagina predefinita del server in una a scelta. In questo caso sarà chiamata “about.html”. Vediamo come:

# serve alternate default index page
DirectoryIndex about.html

Redirect da un vecchio dominio

Sempre per strizzare l’occhio ai motori di ricerca possiamo effettuare un redirect automatico da un vecchio dominio a quello nuovo.

# redirect from old domain to new domain
RewriteEngine On
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]

Non mi stancherò mai di ripetere che i file “.htaccess” sono molto importanti, ma potenzialmente molto pericolosi. Un’errata configurazione potrebbe inibirci l’accesso al server, per cui cautela, copie di backup e prove in locale.

About

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

Inserito in: SEO, Tips, Web Lascia un commento
Commenti (4) Trackback (0)
  1. Potrei sbagliare, ma se usi già un componente che ti modifica l’htaccess.. non dovresti poi toccarlo.. Come hai detto tu, credo che il problema siano quelle righe di codice che hai postato. Hai provato a disabilitarle?

  2. Ciao e grazie per la risposta.
    Uso Joomla, ho provato a cercare sul formum di joomla, ma non ho trovato nulla e nessuno mi risponde alla domanda che gli ho posto, forse non sanno come aiutarmi? :S
    E’ un gran bel casino. Io uso l’url rewrite con un componente che mi ottimizza tutto per il seo, ma ho disabilitato la voce sul redirect 301.
    Nel .htacess ho inserito queste voci:

    # mod_rewrite in use

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^davidealgeri\.com
    RewriteRule ^(.*)$ http://www.davidealgeri.com/$1 [R=permanent,L]

    e alla fine
    Redirect permanent /component/content/frontpage.html http://www.davidealgeri.com/blog-di-psicologia.html

    Potrebbe essere stato causato da questo?
    Grazie comunque

  3. Ciao Davide, e grazie del commento.
    Ho dato un’occhiata al tuo sito (davidealgeri.com), ma non riesco a capire quale CMS utilizzi. Cos’è, drupal?
    In ogni caso dovresti provare a cercare fra la documentazione del CMS che utilizzi qualcosa che riguarda i redirect 301, cerca anche nel forum (se ne esiste uno). E’ possibile che il tuo CMS usi l’url rewrite in maniera impropria, o che l’IP di facebook sia nella blacklist del tuo htaccess.

    Le possibilità sono molte. Come prima cosa andrei a dare un’occhiata alla documentazione.

    Ti segnalo però, che accade anche con la validazione W3C.

  4. Ciao ti scrivo perchè ho letto il tuo articolo, cercando soluzioni qua e là su internet e l’ho trovato molto interessante.
    Non se se puoi aiutarmi, ma ci provo lo stesso.
    ho fatto diversi cambi all’htacess e ultimamente ho notato che quando posto i miei articoli del blog su fb, anche quelli nuovi, mi dice “301 Moved Permanently”.
    Può dipendere secondo te dalle impostazioni dell’htaccess?
    Eventualmente se lo vuoi vedere te lo incollo! :)


Leave a comment

Ancora nessun trackback.