<?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>Programmazione Web &#187; codeigniter riscrittura url</title>
	<atom:link href="http://www.programmazione-web.com/tag/codeigniter-riscrittura-url/feed" rel="self" type="application/rss+xml" />
	<link>http://www.programmazione-web.com</link>
	<description>il Blog open degli sviluppatori del web!</description>
	<lastBuildDate>Mon, 25 Jul 2011 16:39:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Codeigniter: SEO URL rewrite con il framework php</title>
		<link>http://www.programmazione-web.com/seo-url-rewrite-framework-codeigniter.php</link>
		<comments>http://www.programmazione-web.com/seo-url-rewrite-framework-codeigniter.php#comments</comments>
		<pubDate>Mon, 31 Mar 2008 21:34:01 +0000</pubDate>
		<dc:creator>neryo</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Sviluppo applicazioni]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[codeigniter riscrittura url]]></category>
		<category><![CDATA[framework codeigniter.]]></category>
		<category><![CDATA[rewrite url codeigniter]]></category>
		<category><![CDATA[routing codeigniter]]></category>
		<category><![CDATA[seo codeigniter]]></category>

		<guid isPermaLink="false">http://www.programmazione-web.com/seo-url-rewrite-framework-codeigniter.php</guid>
		<description><![CDATA[Questo tip per il framework codeigniter mostra come é possibile effettuare la riscrittura delle URL a scopi SEO (indicizzazione e ottimizzazione motori di ricerca) in modo molto semplice utilizzando il framework php Codeigniter.]]></description>
			<content:encoded><![CDATA[<p><strong>SEO URL rewrite con il framework php Codeigniter</strong></p>
<p>Questo tip mostra come é possibile effettuare la riscrittura delle URL a scopi SEO (indicizzazione e ottimizzazione motori di ricerca) in modo molto semplice utilizzando il framework php Codeigniter.</p>
<p>Per riscrittura delle url si intende fare un rewrite delle url inserendo parole chiavi relative alle argomentazioni della pagina e mapparle direttamente sul controller che la gestisce. Questo perché tipicamente c&#8217;é una corrispondenza  uno a uno tra le url e il corrispondente controller (classe/metodo).</p>
<p>Per effettuare le prime riscritture ipotizziamo di avere tre pagine: la &#8220;Home&#8221;, la pagina &#8220;Chi siamo&#8221; e  &#8220;Cosa facciamo&#8221; che hanno un corrispondenza con la classe controller Home, Chisiamo e la classe Cosafacciamo. All&#8217;interno della cartella <strong>/system/application/config</strong> apriamo in prima istanza il file routes.php</p>
<p>In questo file troviamo due routes riservate:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$route</span><span class="br0">&#91;</span><span class="st0">&#8216;default_controller&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;home&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$route</span><span class="br0">&#91;</span><span class="st0">&#8216;scaffolding_trigger&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;&quot;</span>;</div>
</li>
</ol>
</div>
<p>in quella di default_controller mettiamo il nome del controller della pagina che si deve aprire per prima quando si accede alla index del sito.</p>
<p>Poi possiamo definire infinite nuove route che ci mappano i nomi dei controller delle pagine a nuovi nomi che saranno le nuove url ottimizzate:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$route</span><span class="br0">&#91;</span><span class="st0">&#8216;azienda-vinicola&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;chisiamo&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$route</span><span class="br0">&#91;</span><span class="st0">&#8216;azienda-produzione-vino&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;cosafacciamo&quot;</span>;</div>
</li>
</ol>
</div>
<p>E&#8217; possibile inoltre postporre ai nomi degli url dei suffissi come .html o .php modificando sempre in <strong>/system/application/config</strong> nel file config.php.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$config</span><span class="br0">&#91;</span><span class="st0">&#8216;url_suffix&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;.html&quot;</span>;</div>
</li>
</ol>
</div>
<p>In questo modo potremmo accedere alle varie pagine utilizzando url di questo tipo:</p>
<p>www.tuosito.com/index.php/azienda-vinicola.html<br />
www.tuosito.com/index.php/azienda-produzione-vino.html</p>
<p>Chiaramente se sul nostro server apache abbiamo il supporto mod_rewrite attivo, sarebbe consigliabile anche eliminare dalla url il riferimento inutile al file index.php, utilizzando un file .htaccess come questo esempio:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">RewriteEngine on</div>
</li>
<li class="li1">
<div class="de1">RewriteCond $<span class="nu0">1</span> !^<span class="br0">&#40;</span>index\.php|images|robots\.txt<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">RewriteRule ^<span class="br0">&#40;</span>.*<span class="br0">&#41;</span>$ /index.php/$<span class="nu0">1</span> <span class="br0">&#91;</span>L<span class="br0">&#93;</span></div>
</li>
</ol>
</div>
<p>In questo modo avremmo completato in modo semplice e veloce la riscrittura delle url nel nostro sito web realizzato con il framework Codeigniter e potremmo quindi accedere alle pagine in questo modo:</p>
<p>www.tuosito.com/azienda-vinicola.html<br />
www.tuosito.com/azienda-produzione-vino.html</p>
<p>Da ricordare inoltre che la funzionalitá di routing offerta da Codeigniter, permette di utilizzare anche espressioni regolari che permettono di aumentare la flessibilitá e la potenza di questo metodo. Ecco un esempio:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$route</span><span class="br0">&#91;</span><span class="st0">&#8216;products/([a-z]+)/(<span class="es0">\d</span>+)&#8217;</span><span class="br0">&#93;</span> = <span class="st0">&quot;$1/id_$2&quot;</span>;</div>
</li>
</ol>
</div>
<p>Ogni commento, spunto, consiglio é sempre ben accetto! <img src='http://www.programmazione-web.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Riferimenti:</strong><br />
<a title="Codeigniter routing" href="http://codeigniter.com/user_guide/general/routing.html" target="_blank"> http://codeigniter.com/user_guide/general/routing.html</a><br />
<a title="Codeigniter Urls" href="http://codeigniter.com/user_guide/general/urls.html" target="_blank"> http://codeigniter.com/user_guide/general/urls.html</a></p>
<p><strong>Ringraziamenti:</strong><br />
Al mio amico omonimo che mi ha dato lo spunto per scrivere questo articolo.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.programmazione-web.com%2Fseo-url-rewrite-framework-codeigniter.php&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.programmazione-web.com/seo-url-rewrite-framework-codeigniter.php/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

