Bacheca del forum

Nuova amministrazione: tanti ranghi in più,
lo staff



[Guid]a file htaccess: mod-rewrite e redirect 404


You are not connected. Please login or register

View previous topic View next topic Go down  Message [Page 1 of 1]

[Guid]a file htaccess: mod-rewrite e redirect 404 Empty [Guid]a file htaccess: mod-rewrite e redirect 404 Wed Sep 07, 2011 6:53 am

Pubblicato da: Spacca
     Spacca
Spacca
Staff d'Amministrazione
Staff d'Amministrazione


Ciao,
[Guid]a file htaccess: mod-rewrite e redirect 404 Htaccess-guida-564x270

Oggi scopriamo a cosa serve e come redigere un buon file htaccess per i nostri progetti di web design. Per chi non lo sapesse l’htaccess è un piccolo file creato per molti scopi, come ad esempio la ri-scrittura dei link per renderli più appetibili ai motori di ricerca.

Questo tipo di file deve essere scritto come un normale file di testo .txt (usate il blocco note), per renderlo “operativo” uno volta uploadato nella root del nostro server dovrete rinominarlo da htaccess.txt in .htaccess, questo passaggio è molto importante dato che determina il corretto funzionamento dello stesso.

Vediamo ora i vari usi di questo file.

Redirect a una pagina nel caso di errore 404


Durante la creazione e amministrazione di un sito web si deve sempre tenere conto di “intoppi” o successivi cambiamenti. Nel caso di siti complessi è buona norma creare una pagina speciale chiamata “404″, ovvero una pagina web ultra-ottimizzata per i motori di ricerca che si visualizzi nel caso un ignaro visitatore incappasse in un articolo non più esistente o rinominato. Senza questo tipo di pagina il visitatore si troverebbe di fronte alla pagina standard del server, molto spoglia, che lo farebbe letteralmente fuggire del nostro sito. Con una pagina 404 invece, possiamo:

- predisporre un motore di ricerca dei contenuti, il visitatore non trovando più quello cercato, potrebbe voler cercare ugualmente nel nostro sito.

- reperire dal database articoli “simili” a quelli cercati dal visitatore, o in alternativa, visualizzare gli articoli “HOT” del sito per incuriosire il visitatore.

- Nella pagina 404 è buona norma spiegare cos’è successo, non tutti sono internauti provetti, pertanto scrivete frasi d’effetto del tipo: “OPS quello che stai cercando è stato cancellato o spostato, prova a cercare all’interno del sito!”

- Per approfondire vi rimando a questo mio vecchio articolo dove si svela tra l’altro come creare pagine 404 per i più noti CMS (Joomla e WP).

Ritornando al file htaccess, per effettuare il redirect alla vostra pagina 404.php scrivete sul blocco note quanto segue:

Code:
ErrorDocument 404 /404.php

salvate e uppate sul vostro server (root del sito mi raccomando!) e rinominate poi il file in .htaccess , ora andate sul vostro sito e scrivete www.tuosito/ciao a questo punto se avete creato correttamente anche la pagina 404.php il server dovrebbe reindirizzarvi in automatico.

NOTA BENE: non effettuate il redirect alla home page del sito, oltre ad essere scorretto, è buona norma usare una pagina 404 creata ad “hoc” per queste evenienze. Ricordate di ottimizzarla anche lato SEO per ridurre al minimo il rischio di penalizzazioni.

NOTA2: Se usi un qualsiasi CMS nel tuo htaccess vedrai già scritta questa regola quindi non aggiungerla ulteriormente!

Usare una (o più) home page


Un altro uso molto utile di htaccess è dare la possibilità allo sviluppatore di creare delle homepage “secondarie” nel caso la prima non sia raggiungibile per diversi problemi, o sia offline per manutenzione. Ecco la regola:

Code:
DirectoryIndex index.php indexoffline.php

Come vedete se il file index.php non è raggiungibile viene effettuato un redirect su indexoffline.php , che può essere ad esempio una pagina di manutenzione del tipo: “ritorneremo online a breve”. Potete impostare quante pagine volete, il server andrà a oltranza (seguendo ovviamente l’rodine fornito dalla regola) finchè non trova una pagina web raggiungibile da usare come home page.

I vantaggi? bhè se ad esempio volete modificare il sito e metterlo offline vi basterà rinominare index.php in index2.php e automaticamente il server userà come home page la vostra seconda pagina, nel nostro caso di esempio, indexoffline.php.

Questa regola può essere utilissima in WordPress dato che il noto CMS (per ora) non possiede la modalità manutenzione.

Scrivere i permalink, introduzione al mod rewrite.

I CMS integrano già questa regola, ovvero nel caso lo attiviate, riscrivono dinamicamente gli url (indirizzi) delle vostre pagine web. A cosa serve? bhè sappiate che questa è forse la funzione più importante del file htaccess perchè vi permette con il minimo sforzo di salire nelle SERP e di far posizionare meglio il vostro sito. Di fatto il file con le regole rewrite, “riscrive” letterlamente gli ugly url del tipo:

www.tuosito.it/singolo.php?cat=trilocali&titolo=villa-sul-mare

www.tuosito.it/trilocali/villa-sul-mare.html

Come vedete per i motori di ricerca il secondo tipo di url è molto più ottimizzato dato che elimina le parti “superflue” del link, che ci sono servite in fase di programmazione ma che ora danno solo fastidio.

Questo tipo di regole non sono per niente facili, e richiedono basi php, eccone un esempio:

Code:
RewriteEngine On
Code:
RewriteRule ^([^/]*)/([^/]*)\.html$ /singolo.php?cat=$1&titolo=$2 [L]
Come vedete, inizio dichiarando che inizio la fase di rewrite, dopodichè imposto:

- Link finale con estensione .html

- voglio riscrivere l’ugly url che contiente una variabile cat e una variabile titolo (link a due variabili).

-Con [L] chiudo la scrittura (risparmia risorse sul server).

In questo esempio quando il server incontra un ugly url due variabili di quel tipo riscrive automaticamente il link eliminando le parti inutili. Ricordo che tutti i CMS hanno già questa funzione pronta da usare (vedi i permalink di WP e Joomla), dovrete ricorrere alla “scrittura manuale” del file htaccess solo nel caso vogliate ideare un vostro cms o progetto web in php.

Compressione e gestione della cache

Uno degli strumenti forniti da htaccess è anche quello della gestione della cache. Ecco un esempio di compressione tramite zlib (se il vostro server lo supporta):

Code:
#Etag
FileETag None
# compressione zlib
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
<FilesMatch "\\.(js|css|html|htm|php|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-javascript application/x-httpd-php application/rss+xml application/atom_xml
</IfModule>
<ifmodule mod_php5.c>
 php_value zlib.output_compression 16386
</ifmodule>
#abilitazione cache
<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>
<IfModule mod_headers.c>
ExpiresActive On
ExpiresDefault A0
# 1 YEAR
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A9030400
</FilesMatch>
# 1 WEEK
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
ExpiresDefault A604800
</FilesMatch>
# 3 HOUR
<FilesMatch "\.(txt|xml|js|css)$">
ExpiresDefault A10800
</FilesMatch>
</IfModule>


fonte: targetweb


http://Puro100x100.co.cc

Advertising poster


Ciao,
Vuoi entrare nel nostro staff? è semplice segui le procedure illustrate

Vai al Seguente link (clicca) e segui i post guida

Mi raccomando! ti aspettiamo...
Lo staff d'animazione


View previous topic View next topic Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum



Unauthorised copying, reproduction, rental, public performance or broadcast of this website and of his content is a violation of applicable laws
– © 2011 Puro100x100 inc. All rights reserved. All trademarks are the property of their respective owners
qui

Free forum | Computers and Internet | Internet | ©phpBB | Free forum support | Report an abuse | Forumotion.com