<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>regole-seo &#187; url rewrite</title>
	<atom:link href="http://www.regole-seo.com/tag/url-rewrite/feed" rel="self" type="application/rss+xml" />
	<link>http://www.regole-seo.com</link>
	<description>strumenti seo per creare siti ottimizzati</description>
	<lastBuildDate>Mon, 30 Jan 2012 01:34:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>URL rewrite e .htaccess: nozioni ed esempi</title>
		<link>http://www.regole-seo.com/url-rewrite-htaccess-nozioni-esempi</link>
		<comments>http://www.regole-seo.com/url-rewrite-htaccess-nozioni-esempi#comments</comments>
		<pubDate>Mon, 26 Jul 2010 22:12:23 +0000</pubDate>
		<dc:creator>regole-seo</dc:creator>
				<category><![CDATA[Approfondimenti SEO]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[seo-onpage]]></category>
		<category><![CDATA[url rewrite]]></category>

		<guid isPermaLink="false">http://www.regole-seo.com/?p=2391</guid>
		<description><![CDATA[Conoscere e mettere in pratica l&#8217;url rewrite. [Parte 2 di 2] Vai alla prima parte &#187; Url rewrite Nello scorso articolo abbiamo visto cosa è l&#8217;url rewrite e le differenze tra url rewrite e redirect 301 per capire in quali casi conviene usare uno o l&#8217;altro, visto che spesso c’è chi li confonde. Non ci [...]


Articoli correlati:<ol><li><a href='http://www.regole-seo.com/rewrite-url' rel='bookmark' title='URL rewrite'>URL rewrite</a></li>
<li><a href='http://www.regole-seo.com/browser-lynx' rel='bookmark' title='Browser Lynx'>Browser Lynx</a></li>
<li><a href='http://www.regole-seo.com/google-load-velocita-google-ajax-api' rel='bookmark' title='&#8220;google.load()&#8221;: più velocità con Google AJAX Libraries API'>&#8220;google.load()&#8221;: più velocità con Google AJAX Libraries API</a></li>
<li><a href='http://www.regole-seo.com/jsessionid-url' rel='bookmark' title='JSESSIONID: Cosa è e perchè compare nelle URL?'>JSESSIONID: Cosa è e perchè compare nelle URL?</a></li>
<li><a href='http://www.regole-seo.com/gzip-compression' rel='bookmark' title='GZIP compression'>GZIP compression</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<h3 class="post_litle_title">
<em>Conoscere e mettere in pratica l&#8217;<strong><em>url rewrite</em></strong>. [Parte 2 di 2]</em><br />
</h3>
<p></p>
<p class="paging">Vai alla prima parte &raquo; <strong><em><a href="http://www.regole-seo.com/rewrite-url">Url rewrite</a></em></strong></p>
<div class="contenitore-immagine-articolo"><a href="http://www.regole-seo.com/wp-content/uploads/2010/07/mod_rewrite.png"><img src="http://www.regole-seo.com/wp-content/uploads/2010/07/mod_rewrite.png" alt="mod_rewrite" title="mod_rewrite" width="262" height="199" class="alignnone size-full wp-image-2390" /></a>
</div>
<p>Nello scorso articolo abbiamo visto <strong><em><a href="http://www.regole-seo.com/rewrite-url">cosa è l&#8217;url rewrite e le differenze tra url rewrite e redirect 301</a></em></strong> per capire in quali casi conviene usare uno o l&#8217;altro, visto che spesso c’è chi li confonde.
</p>
<p>Non ci resta che vedere <strong><em>come si realizza l&#8217;url rewrite</em></strong>, tramite modulo <strong><em><a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">mod_rewrite di Apache</a></em></strong> e un po&#8217; di esempi su come utilizzarlo per risolvere alcuni tra i problemi più classici.
</p>
<p>Il <strong><em><a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">modulo mod_rewrite di Apache</a></em></strong> è un modulo che fornisce un potente mezzo per la manipolazione delle url. Tramite il <strong><em><a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">mod_rewrite</a></em></strong> è possibile ottenere qualsiasi tipo (o quasi) di manipolazione degli indirizzi. Questo in molti casi implica uno sforzo non indifferente da parte di chi dovrà scrivere le <strong><em>regole di rewrite</em></strong>, spesso molto complicate.
</p>
<p>Nello scrivere queste regole è sempre importante essere certi della loro correttezza, poiché un cattivo uso potrebbe causare dei problemi al funzionamento dell&#8217;applicazione e al server che la ospita.
</p>
<p>Prima di vedere alcuni esempi di regole da inserire nel file <strong><em>.htaccess</em></strong> occorre sapere cosa sono le <strong><em>Rewrite Conditions</em></strong> e le <strong><em>Rewrite Rules</em></strong>.
</p>
<h3 style="font-size: 22px; margin-top: 10px; margin-bottom: 10px;"><em>Rewrite Conditions</em></h3>
<p>Realizzata dalla direttiva <strong><em>RewriteCond</em></strong> definisce una regola condizionale.<br />
La <strong><em>RewriteRule</em></strong> che segue una o più <strong><em>RewriteCond</em></strong> viene applicata solo se la url richiesta al server corrisponde al pattern della <strong><em>RewriteRule</em></strong> stessa e se tutte le <strong><em>RewriteCond</em></strong> precedenti sono verificate.
</p>
<p>Come vedremo negli esempi è possibile appendere a ogni <strong><em>RewriteCond</em></strong> i seguenti <strong>flag</strong>, separati da una virgola in caso siano più di uno:</p>
<ul>
<li><strong>[NC]</strong> fa si che il pattern della <strong><em>RewriteCond</em></strong> sia valutato in modalità case insensitive</li>
<li>
<strong>[OR]</strong> utilizzato per valutare in OR logico due <strong><em>RewriteCond</em></strong> consecutive.</li>
</ul>
<h3 style="font-size: 22px; margin-top: 10px; margin-bottom: 10px;"><em>Rewrite Rules</em></h3>
<p>Realizzata tramite la direttiva <strong><em>RewriteRule</em></strong>, si occupa di definire il rewrite effettivo.
</p>
<p>Si compone di 4 parti:<br />
<a href="http://www.regole-seo.com/wp-content/uploads/2010/07/rewriterule.png"><img src="http://www.regole-seo.com/wp-content/uploads/2010/07/rewriterule.png" alt="rewriterule" title="rewriterule" width="390" height="208" class="alignnone size-full wp-image-2468" /></a>
</p>
<p>Anche in questo caso dunque  è possibile appendere i seguenti <strong>flag</strong> separati eventualmente da una virgola:</p>
<ul>
<li><strong>[R]</strong> redirige la url invocata ad un indirizzo esterno al nostro dominio inviando un response code 302 (MOVED TEMPORARILY).</li>
<li><strong>[F]</strong> proibisce l’accesso alla url invocata restituendo un response code 403 (FORBIDDEN).</li>
<li><strong>[G]</strong> definisce la url invocata come non più presente restituendo un response code 410 (GONE).</li>
<li><strong>[L]</strong> forza il processo di <strong><em>rewrite</em></strong> a fermarsi e a non considerare le <strong><em>regole di rewrite</em></strong> successive.</li>
<li><strong>[P]</strong> identifica la url come una richiesta al proxy passando il controllo al modulo mod_proxy.</li>
</ul>
<h3 style="font-size: 22px; margin-top: 10px; margin-bottom: 10px;"><em>Espressioni regolari</em></h3>
<p>Per comprendere il funzionamento dei pattern usati nelle nostre regole per identificare le url occorre conoscere la sintassi delle <strong><em>espressioni regolari</em></strong>.<br />
Qui di seguito mi limiterò ad elencare solo alcuni punti chiave per la comprensione delle <strong><em>espressioni regolari</em></strong> usate negli esempi.<br />
Esiste molto materiale sul web realivo alle <strong><em>espressioni regolari</em></strong> e a questo sito<br />
<a href="http://www.devarticles.com/c/a/ASP/The-Complete-Regular-Expression-Guide/">http://www.devarticles.com/c/a/ASP/The-Complete-Regular-Expression-Guide/</a><br />
potete trovare una guida che può essere un buon punto di partenza.</p>
<ul>
<li><strong>Identificatori di testo:</strong><br />
<strong>.</strong> qualsiasi carattere<br />
<strong>[<em>abc</em>]</strong> <em>a</em>, <em>b</em> oppure <em>c</em><br />
<strong>[^<em>abc</em>]</strong> né <em>a</em>, né <em>b</em> né <em>c</em><br />
<strong><em>abc</em>|<em>def</em></strong> <em>abc</em> oppure <em>def</em>
</li>
<li><strong>Quantificatori:</strong><br />
<strong>?</strong> 0 o 1 occorrenze dell&#8217;identificatore di testo precedente<br />
<strong>*</strong> 0 o N occorrenze dell&#8217;identificatore di testo precedente (N>0)<br />
<strong>+</strong> 1 o N occorrenze dell&#8217;identificatore di testo precedente (N>1)
</li>
<li><strong>Raggruppamento:</strong><br />
<strong>(</strong><em>identificatori di testo</em><strong>)</strong> le parentesi tonde sono un modo per identificare un gruppo di identificatori di testo come una singola unità atomica.
</li>
<li><strong>Ancore:</strong><br />
<strong>^</strong> inizio linea<br />
<strong>$</strong> fine linea
</li>
<li><strong>Escape:</strong><br />
<strong>\</strong> esegue l&#8217;escape del carattere che segue
</li>
<li><strong>Negazione:</strong><br />
è possibile eseguire la &#8220;negazione&#8221; di un determinato pattern facendolo precedere dal carattere punto esclamativo <strong>!</strong>
</li>
</ul>
<p>Non resta che vedere qualche esempio delle <strong><em>regole di rewrite da inserire nel file .htaccess</em></strong> situato nella root del nostro sito per andare incontro ad alcune classiche esigenze.
</p>
<h3 style="font-size: 22px; margin-top: 10px; margin-bottom: 10px;"><em>Esempi di regole di rewrite per esigenze classiche</em></h3>
<p>Va detto che perché le <strong><em>regole di rewrite</em></strong> funzionino il <strong><em><a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">modulo mod_rewrite di Apache</a></em></strong> deve essere abilitato all&#8217;interno del file <strong><em>httpd.conf</em></strong> della configurazione di <a href="http://httpd.apache.org/">Apache</a>. A questo indirizzo<br />
<a href="http://www.mrwebmaster.it/apache/articoli/guida-pratica-modulo-rewrite-apache_819.html">http://www.mrwebmaster.it/apache/articoli/guida-pratica-modulo-rewrite-apache_819.html</a><br />
potete trovare un&#8217;ottima guida su <strong><em><a href="http://www.mrwebmaster.it/apache/articoli/guida-pratica-modulo-rewrite-apache_819.html">come abilitare il mod_rewrite di Apache</a></em></strong>.
</p>
<p><strong><em>NOTA</em>: per ragioni di spazio alcune linee di codice molto lunghe che definiscono le regole vanno inevitabilemnte a capo. Per questo motivo accanto ad ogni riga effettiva ho inserito il numero di riga (Es: 1-)</strong></p>
<ul>
<li><strong>Realizzare url più brevi e SEO-friendly</strong><br />
Spesso per vincoli implementativi dipendenti anche dalle tecnologie utilizzate ci troviamo di fronte ad url troppo lunghe e poco seo-friendly. E&#8217; allora opportuno (prima della messa on-line per evitare problemi di <a href="http://www.regole-seo.com/contenuti-duplicati">duplicazione dei contenuti</a>) adottare opportune regole come la seguente:</p>
<p><code>
<pre>1- RewriteEngine On</pre>
<pre>2- RewriteRule /prodotti/([a-z]+)/([0-9]+).html http://www.MioDominio.com/</pre>
<pre>   gestione_prodotti/prodotti.action?categoria=$1&#038;idProdotto=$2 [L]</pre>
<p></code><br />
Questo ci permette di ottenere una url più breve e amichevole sia per gli utenti che per i motori di ricerca.<br />
Da notare alcune cose:<br />
Innanzitutto non bisogna appendere alla prima parte dell&#8217;istruzione il nome del dominio (<em>http://www. MioDominio.com</em>). Infatti occorre inserire l&#8217;indirizzo a partire dalla root del sito (/).<br />
Ricordo inoltre che nel caso di nomi di file contenenti degli spazi (cosa sempre altamente sconsigliata:)) occorre utilizzare i doppi apici per definire l&#8217;indirizzo.</p>
<p>Le espressioni <strong>([a-z]+)</strong> e <strong>([0-9]+)</strong> indicano una porzione variabile della url che può contenere una qualsiasi serie di lettere nel primo caso e una qualsiasi serie di numeri nel secondo. Queste variabili verranno usate per realizzare la <strong><em>rewrite</em></strong>.<br />
Infatti il simbolo <strong>$</strong> seguito da un numero (<strong>$1</strong> e <strong>$2</strong> nel nostro caso) utilizzato nella parte destra della nostra regola serve per richiamare (posizionalmente) tali variabili presenti nella parte di sinistra.</p>
<p>Dunque avremmo che la url SEO-friendly da esporre sarà ad esempio <em>http://www.MioDominio.com/prodotti/casa/150.html</em> e grazie alla <strong><em>rewrite rule</em></strong> genererà in realtà il contenuto della url <em>http://www.MioDominio.com/gestione_prodotti/prodotti.action?categoria=casa&#038;idProdotto=150</em></p>
</li>
<li><strong>Proteggere file e immagini</strong><br />
Talvolta alcuni webmaster espongono il link diretto al download di un file situato sul nostro sito o ad un&#8217;immagine presente su una nostra pagina web.<br />
Con le seguenti regole la richiesta viene rediretta a <em>http://www.MioDominio.com/</em> se la chiamata non proviene da <em>http://MioDominio.com</em>, <em>http://www.MioDominio.com</em> o <em>http://62.149.140.159</em></p>
<p><code></p>
<pre>1- RewriteEngine On</pre>
<pre>2- RewriteCond %{HTTP_REFERER} !^$ [NC]</pre>
<pre>3- RewriteCond %{HTTP_REFERER} !^http://MioDominio.com [NC]</pre>
<pre>4- RewriteCond %{HTTP_REFERER} !^http://www.MioDominio.com [NC]</pre>
<pre>5- RewriteCond %{HTTP_REFERER} !^http://62.149.140.159 [NC]</pre>
<pre>6- RewriteRule ^.*$ http://www.MioDominio.com/ [R,L]</pre>
<p></code>
</li>
<li><strong>Domini differenti per lo stesso sito</strong><br />
In alcuni casi lo stesso sito deve essere accessibile da url differenti come ad esempio <em>MioDominio.com</em> e  <em>www.MioDominio.com</em>.<br />
Con la seguente <strong>regola di rewrite</strong> una url come <em>http://MioDominio.com/about.html</em> si risolverà come un&#8217;effettiva chiamata alla url <em>http://www.MioDominio.com/about.html</em>.</p>
<p><code></p>
<pre>1- RewriteEngine On</pre>
<pre>2- RewriteCond %{HTTP_HOST} !^MioDominio.com$ [NC]</pre>
<pre>3- RewriteRule ^(.*)$ http://www.MioDominio.com/$1 [R,L]</pre>
<p></code><br />
<em>NOTA</em>: nel caso di più domini che corrispondano allo stesso sito tenete sempre ben presente gli eventuali <a href="http://www.regole-seo.com/contenuti-duplicati">problemi di duplicazione dei contenuti</a>.
</li>
<li><strong>Rewrite del dominio su una directory</strong><br />
Se si ha la necessità di fare rispondere una specifica directory all&#8217;invocazione del dominio è possibile usare la seguente regola:</p>
<p><code></p>
<pre>1- RewriteEngine On</pre>
<pre>2- RewriteCond %{HTTP_HOST} ^www.MioDominio.com$</pre>
<pre>3- RewriteCond %{REQUEST_URI} !^/miaDirectory/</pre>
<pre>4- RewriteRule ^(.*)$ /miaDirectory/$1</pre>
<p></code><br />
In tal caso l&#8217;invocazione del dominio <em>http://www.MioDominio.com</em> si risolve in una chiamata alla url <em>http://www.MioDominio.com/miaDirectory/</em>
</li>
<li><strong>Visualizzare i contenuti opportuni in base allo user agent</strong><br />
Se doveste avere la necessità di mostrare dei contenuti sulla base dello user agent dell&#8217;utente potete servirvi di una <strong><em>regola di rewrite</em></strong> simile alla seguente:</p>
<p><code></p>
<pre>1-  # MS Internet Explorer - Mozilla v4</pre>
<pre>2-  RewriteEngine On</pre>
<pre>3-  RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4(.*)MSIE</pre>
<pre>4-  RewriteRule ^index\.html$ /index.IE.html [L]</pre>
<pre>5-  </pre>
<pre>6-  # Netscape v6.+ - Mozilla v5</pre>
<pre>7-  RewriteCond %{HTTP_USER_AGENT} ^Mozilla/5(.*)Gecko</pre>
<pre>8-  RewriteRule ^index\.html$ /index.NS5.html [L]</pre>
<pre>9-  </pre>
<pre>10- # All other browsers</pre>
<pre>11- RewriteRule ^index\.html$ /index.default.html [L]</pre>
<p></code><br />
In questo caso, invocando la url <em>http://www.MioDominio.com/index.html</em>, se il campo <em>User-Agent</em> dell&#8217; <em>http header</em> della richiesta inizia con <em>&#8220;Mozilla/4&#8243;</em> e si tratta di Internet Explorer (<em>MSIE</em>), allora sarà eseguita una <strong><em>rewrite</em></strong> sulla pagina <em>http://www.MioDominio.com/index.IE.html</em> (e non verranno considerate le regole successive).<br />
Se invece il campo <em>User-Agent</em> inizia con <em>Mozilla/5</em> e si tratta di Netscape (<em>Gecko</em>), sarà eseguita la <strong><em>rewrite</em></strong> su <em>http://www.MioDominio.com/index.NS5.html</em><br />
Infine, per tutti gli altri browser verrà eseguita la <strong><em>rewrite</em></strong> alla url <em>http://www.MioDominio.com/index.default.html</em>
</li>
</ul>
<p>Per concludere ecco il link alla <a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">documentazione del modulo mod_rewrite di Apache</a>.
</p>
<p></p>
<p class="paging-bottom">Vai alla prima parte &raquo; <strong><em><a href="http://www.regole-seo.com/rewrite-url">Url rewrite</a></em></strong></p>


<p>Articoli correlati:<ol><li><a href='http://www.regole-seo.com/rewrite-url' rel='bookmark' title='URL rewrite'>URL rewrite</a></li>
<li><a href='http://www.regole-seo.com/browser-lynx' rel='bookmark' title='Browser Lynx'>Browser Lynx</a></li>
<li><a href='http://www.regole-seo.com/google-load-velocita-google-ajax-api' rel='bookmark' title='&#8220;google.load()&#8221;: più velocità con Google AJAX Libraries API'>&#8220;google.load()&#8221;: più velocità con Google AJAX Libraries API</a></li>
<li><a href='http://www.regole-seo.com/jsessionid-url' rel='bookmark' title='JSESSIONID: Cosa è e perchè compare nelle URL?'>JSESSIONID: Cosa è e perchè compare nelle URL?</a></li>
<li><a href='http://www.regole-seo.com/gzip-compression' rel='bookmark' title='GZIP compression'>GZIP compression</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.regole-seo.com/url-rewrite-htaccess-nozioni-esempi/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>URL rewrite</title>
		<link>http://www.regole-seo.com/rewrite-url</link>
		<comments>http://www.regole-seo.com/rewrite-url#comments</comments>
		<pubDate>Sun, 11 Jul 2010 23:27:28 +0000</pubDate>
		<dc:creator>regole-seo</dc:creator>
				<category><![CDATA[Approfondimenti SEO]]></category>
		<category><![CDATA[contenuti duplicati]]></category>
		<category><![CDATA[redirect 301]]></category>
		<category><![CDATA[seo-onpage]]></category>
		<category><![CDATA[url rewrite]]></category>

		<guid isPermaLink="false">http://www.regole-seo.com/?p=2339</guid>
		<description><![CDATA[Conoscere e mettere in pratica l&#8217;url rewrite. [Parte 1 di 2] Vai alla seconda parte &#187; URL rewrite e .htaccess: nozioni ed esempi Questo articolo, dedicato all&#8217;url rewrite, è rivolto soprattutto a coloro che hanno una gran confusione in testa dovuta al fatto che spesso anche chi ha una certa competenza in materia usa indistintamente [...]


Articoli correlati:<ol><li><a href='http://www.regole-seo.com/url-rewrite-htaccess-nozioni-esempi' rel='bookmark' title='URL rewrite e .htaccess: nozioni ed esempi'>URL rewrite e .htaccess: nozioni ed esempi</a></li>
<li><a href='http://www.regole-seo.com/jsessionid-url' rel='bookmark' title='JSESSIONID: Cosa è e perchè compare nelle URL?'>JSESSIONID: Cosa è e perchè compare nelle URL?</a></li>
<li><a href='http://www.regole-seo.com/redirect-301-pagerank' rel='bookmark' title='Redirect 301 e PageRank'>Redirect 301 e PageRank</a></li>
<li><a href='http://www.regole-seo.com/redirect-301' rel='bookmark' title='Redirect 301'>Redirect 301</a></li>
<li><a href='http://www.regole-seo.com/canonical-link-faq' rel='bookmark' title='Canonical link FAQ'>Canonical link FAQ</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<h3 class="post_litle_title">
<em>Conoscere e mettere in pratica l&#8217;<strong><em>url rewrite</em></strong>. [Parte 1 di 2]</em><br />
</h3>
<p></p>
<p class="paging">Vai alla seconda parte &raquo; <strong><em><a href="http://www.regole-seo.com/url-rewrite-htaccess-nozioni-esempi">URL rewrite e .htaccess: nozioni ed esempi</a></em></strong></p>
<div class="contenitore-immagine-articolo"><a href="http://www.regole-seo.com/wp-content/uploads/2010/07/rewrite-url.jpg"><img src="http://www.regole-seo.com/wp-content/uploads/2010/07/rewrite-url.jpg" alt="rewrite-url" title="rewrite-url" width="262" height="199" class="alignnone size-full wp-image-2340" /></a>
</div>
<p>Questo articolo, dedicato all&#8217;<strong><em>url rewrite</em></strong>, è rivolto soprattutto a coloro che hanno una gran confusione in testa dovuta al fatto che spesso anche chi ha una certa competenza in materia usa indistintamente il termine <strong><em>rewrite</em></strong> e <em><strong>redirect</strong></em>.<br />
In realtà sono due cose ben distinte, con scopi diversi e che permettono quindi di andare incontro a esigenze diverse anche in ambito <a href="http://www.regole-seo.com/">SEO</a>.
</p>
<p>E&#8217; del tutto normale che, proprio a causa di questa leggerezza nell&#8217;uso dei due termini, ci siano clienti che richiedono un <a href="http://www.regole-seo.com/redirect-301">redirect 301</a> quando in realtà necessitano di un <strong><em>url rewrite</em></strong> o viceversa.<br />
E forse è anche normale che uno sfortunato cliente che si trovi a interagire con un consulente di profilo junior, richiedendo un <strong><em>url rewrite</em></strong> per andare incontro alle proprie esigenze <a href="http://www.regole-seo.com/">SEO</a>, si ritrovi appunto implementata un <strong><em>url rewrite</em></strong> (come da lui richiesto) quando in realtà ciò che avrebbe dovuto essere realizzato era un <a href="http://www.regole-seo.com/redirect-301">redirect 301</a> .
</p>
<p>Dividerò l&#8217;articolo in due parti. In questa prima parte vedremo <strong><em>cosa è l&#8217;url rewrite</em></strong>, quali sono le differenze tra <strong><em>url rewrite</em></strong> e <a href="http://www.regole-seo.com/redirect-301">redirect 301</a> e quando conviene usare uno o l&#8217;altro.<br />
Nel prossimo articolo vedremo invece <strong><em><a href="http://www.regole-seo.com/url-rewrite-htaccess-nozioni-esempi">come realizzare l&#8217;url rewrite tramite il modulo mod_rewrite</a></em></strong> di <a href="http://httpd.apache.org/">Apache</a> e un po&#8217; di esempi per andare incontro ad alcune delle problematiche più comuni che richiedono l&#8217;utilizzo di <strong><em>url rewrite</em></strong>.
</p>
<h3 style="font-size: 22px; margin-top: 10px; margin-bottom: 10px;"><em>Che cos&#8217; è l&#8217;<strong>url rewrite</strong>?</em></h3>
<p>Effettuare un <strong><em>url rewrite</em></strong> significa fare in modo che quando il server riceve una richiesta http per una determinata url, tale richiesta viene &#8220;convertita&#8221; in una richiesta ad una url differente che sarà quella che effettivamente genererà il contenuto della pagina web.<br />
Esiste dunque un mapping tra una determinata url richiesta (originaria) e un&#8217;altra che sarà quella effettiva che genererà il contenuto.<br />
Il tutto avviene lato server e il browser dell&#8217;utente non si accorge di nulla. La url che l&#8217;utente continuerà a vedere nella barra degli indirizzi sarà quella originaria. Discorso analogo per gli spider dei motori di ricerca.
</p>
<p>Questo significa anche che realizzando una url &#8220;A&#8221; SEO-friendly mappata su una url &#8220;B&#8221; che è l&#8217;effettiva url che genererà la pagina web, avremo due url che se invocate dal browser genereranno lo stesso contenuto.<br />
A chi si occupa di <a href="http://www.regole-seo.com/">SEO</a> a questo punto dovrebbe suonare il campanello d&#8217;allarme relativo ai <a href="http://www.regole-seo.com/contenuti-duplicati">contenuti duplicati</a>.
</p>
<p>Come vedremo tra poco esistono comunque situazioni in cui ha decisamente più senso l&#8217;utilizzo dell&#8217;<strong><em>url rewrite</em></strong> anziche del <a href="http://www.regole-seo.com/redirect-301">redirect 301</a>.
</p>
<h3 style="font-size: 22px; margin-top: 10px; margin-bottom: 10px;"><em>Differenza tra <strong>url rewrite</strong> e <strong>redirect 301</strong></em></h3>
<p>Dopo quanto detto relativamente all&#8217;<strong><em>url rewrite</em></strong> e dopo aver letto questo articolo <a href="http://www.regole-seo.com/redirect-301-pagerank">http://www.regole-seo.com/redirect-301-pagerank</a> dedicato al <a href="http://www.regole-seo.com/redirect-301-pagerank">redirect 301</a> ci accorgiamo che in effetti sono due cose ben diverse.
</p>
<p><strong>Che cosa avviene con un <em>url rewrite</em>:</strong></p>
<ul>
<li>CLIENT &#8211; Richiesta url A</li>
<li>SERVER &#8211; Ricezione richiesta url A</li>
<li>SERVER &#8211; Rewrite della url A con la url B</li>
<li>SERVER &#8211; invio dei contenuti generati dalla url B al CLIENT</li>
<li>CLIENT &#8211; Ricezione dei contenuti generati dalla url B</li>
</ul>
<p>Il client dunque è ignaro dell&#8217;esistenza della url B. L&#8217;utente o lo spider di un motore di ricerca invocano la url A e ricevono i contenuti di una url differente (B) mai invocata.<br />
L&#8217;utente nella sua barra degli indirizzi vedrà sempre la url A.
</p>
<p><strong>Che cosa avviene con un <em><a href="http://www.regole-seo.com/redirect-301">redirect 301</a></em>:</strong></p>
<ul>
<li>CLIENT &#8211; Richiesta url A</li>
<li>SERVER &#8211; Ricezione richiesta url A</li>
<li>SERVER &#8211; Invia al CLIENT un response code 301 indicando che la url A è stata permanentemente spostata alla url B</li>
<li>CLINET &#8211; ricezione del response code 301 e invio richiesta per la url B</li>
<li>SERVER &#8211; Ricezione richiesta url B</li>
<li>SERVER &#8211; invio dei contenuti generati dalla url B al CLIENT</li>
<li>CLIENT &#8211; Ricezione dei contenuti generati dalla url B</li>
</ul>
<p>In questo caso il client è consapevole dell&#8217;esistenza delle due url A e B ed effettua effettivamente due richieste al server.<br />
L&#8217;utente nella sua barra degli indirizzi vedrà comparire la url B.</p>
<h3 style="font-size: 22px; margin-top: 10px; margin-bottom: 10px;"><em><strong>Url rewrite</strong> o <strong>redirect 301</strong>? Che cosa conviene usare?</em></h3>
<p>Vista la differenza di funzionamento, ragionando un poco diventa facile capire in quale caso sia più opportuno usare una tecnica piuttosto dell&#8217;altra.<br />
Utilizzeremo due esempi che dovrebbero illustrare in maniera piuttosto completa le problematiche e i vantaggi relativi alle due soluzioni.
</p>
<p>Per quanto riguarda le necessità <a href="http://www.regole-seo.com/">SEO</a>, possiamo dire che se il vostro sito è on-line e decidete di modificare delle url per renderle più seo-friendly allora quello che dovete fare è utilizzare dei <a href="http://www.regole-seo.com/redirect-301">redirect 301</a> per almeno due buoni motivi:
</p>
<ul>
<li>Evitate i problemi di contenuti duplicati. Infatti con l&#8217;<strong><em>url rewrite</em></strong> avreste due indirizzi in grado di generare lo stesso contenuto: la url nuova (seo friendly) e quella vecchia che probabilmente è già presente nei link di altri siti e nelle SERP dei motori di ricerca.</li>
<li>Nessuna perdita di <a href="http://www.regole-seo.com/pagerank">PageRank</a> (come descritto in questo articolo <a href="http://www.regole-seo.com/redirect-301-pagerank">http://www.regole-seo.com/redirect-301-pagerank</a>). Tramite <strong><em>url rewrite</em></strong> il valore di <a href="http://www.regole-seo.com/pagerank">PageRank</a> guadagnato dalla vecchia url non verrebbe trasferito alla nuova url.</li>
</ul>
<p>Supponete invece che il vostro sito abbia una nuova sezione, diciamo relativa ad un concorso, in comune con altri siti e situata dunque su un suo dominio differente.<br />
L&#8217;utente potrebbe essere spaesato nel cliccare il link del concorso sul vostro sito e ritrovarsi su un dominio diverso.<br />
Anche da un punto di vista marketing potreste avere qualche problema visto che chi ha pagato per avere dei banner sul dominio del vostro sito se li ritroverebbe invece su un dominio sconosciuto.<br />
Ecco che in questo caso ci viene in aiuto l&#8217;<strong><em>url rewrite</em></strong>:<br />
nel nostro sito pubblicheremo il link al concorso con una url fittizia &#8220;www.mioDominio.com/concorso&#8221; (relativa al nostro dominio e seo-friendly) e imposteremmo una regola di mapping tra quest&#8217;ultima e l&#8217;effettiva url &#8220;www.amministrazione-concorsi/concorso&#8221; facendo felici utenti e marketing.<br />
Infatti al click sul link del concorso &#8220;www.mioDominio.com/concorso&#8221; il server risponderà con i contenuti di &#8220;www.amministrazione-concorsi/concorso&#8221; ma l&#8217;utente continuerà a vedere nella barra degli indirizzi &#8220;www.mioDominio.com/concorso&#8221;.
</p>
<p>Chiaramente poiché la url reale non verrà mai esposta sul web non dovrebbe mai entrare negli indici dei motori di ricerca o nei link di siti esterni e quindi anche in termini di <a href="http://www.regole-seo.com/contenuti-duplicati">duplicazione di contenuti</a> non si corre alcun rischio.
</p>
<p></p>
<p class="paging-bottom">Vai alla seconda parte &raquo; <strong><em><a href="http://www.regole-seo.com/url-rewrite-htaccess-nozioni-esempi">URL rewrite e .htaccess: nozioni ed esempi</a></em></strong></p>


<p>Articoli correlati:<ol><li><a href='http://www.regole-seo.com/url-rewrite-htaccess-nozioni-esempi' rel='bookmark' title='URL rewrite e .htaccess: nozioni ed esempi'>URL rewrite e .htaccess: nozioni ed esempi</a></li>
<li><a href='http://www.regole-seo.com/jsessionid-url' rel='bookmark' title='JSESSIONID: Cosa è e perchè compare nelle URL?'>JSESSIONID: Cosa è e perchè compare nelle URL?</a></li>
<li><a href='http://www.regole-seo.com/redirect-301-pagerank' rel='bookmark' title='Redirect 301 e PageRank'>Redirect 301 e PageRank</a></li>
<li><a href='http://www.regole-seo.com/redirect-301' rel='bookmark' title='Redirect 301'>Redirect 301</a></li>
<li><a href='http://www.regole-seo.com/canonical-link-faq' rel='bookmark' title='Canonical link FAQ'>Canonical link FAQ</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.regole-seo.com/rewrite-url/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

