<?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>Giovdi.it&#187; Giovdi.it &bull; Categoria: Programmazione: Web server</title>
	<atom:link href="http://www.giovdi.it/post/category/programmazione/programmazione-web-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.giovdi.it</link>
	<description>Internet con un nuovo punto di vista.</description>
	<lastBuildDate>Wed, 28 Jul 2010 09:24:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>.htaccess e mod_rewrite per creare pagine facili da trovare (parte 2)</title>
		<link>http://www.giovdi.it/post/549/htaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2/</link>
		<comments>http://www.giovdi.it/post/549/htaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 12:19:33 +0000</pubDate>
		<dc:creator>Giovdi</dc:creator>
				<category><![CDATA[Guide pratiche]]></category>
		<category><![CDATA[Internet: Realizzare siti web]]></category>
		<category><![CDATA[Programmazione: Web server]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Xampp]]></category>

		<guid isPermaLink="false">http://www.giovdi.it/?p=549</guid>
		<description><![CDATA[Una volta attivato il modulo con RewriteEngine ed impostata la cartella base con RewriteBase, è il momento di occuparci delle altre 2 tipologie di direttive: RewriteRule e RewriteCond, fondamentali per una buona riscrittura degli URL.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&amp;source=Giovdi&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-536"  src="http://www.giovdi.it/wp-content/uploads/2009/11/2009-11-07-036.-Immagine-1.png" alt="2009-11-07 - 036. Immagine 1" width="180" height="126" />Con qualche giorno di ritardo sul previsto, riprendo a parlare del modulo mod_rewrite in Apache.</p>
<p>Una volta attivato il modulo con RewriteEngine ed impostata la cartella base con RewriteBase, è il momento di occuparci delle altre 2 tipologie di direttive: <strong>RewriteRule e RewriteCond</strong>, fondamentali per una buona riscrittura degli URL.</p>
<p><span id="more-549"></span></p>
<h2>Le regole di RewriteRule</h2>
<p><img class="alignright size-full wp-image-537"  src="http://www.giovdi.it/wp-content/uploads/2009/11/2009-11-07-036.-Immagine-2.PNG" alt="2009-11-07 - 036. Immagine 2" width="272" height="211" />Nel precedente articolo (il cui paragrafo sul RewriteBase è stato corretto in seguito ad un errore di interpretazione dalla documentazione) abbiamo impostato un esempio che useremo anche in questa parte. L’esempio riguardava la riscrittura di un URL del tipo <em>www.example.com/home/pagine/index.php</em> in maniera più abbreviata e semplice.</p>
<p>Tramite il RewriteBase, abbiamo impostato la cartella sulla quale applicare le condizioni e le regole, ovvero <em>/</em>. Con questo presupposto, possiamo rimuovere con delle regole <em>home</em> e <em>pagine</em> dall’URL.</p>
<p>Il <strong>RewriteRule</strong> funziona per mezzo di espressioni regolari ed ha questa sintassi:</p>
<pre class="brush: php; light: true;">RewriteRule ^sorgente$ destinazione [flags]</pre>
<p>Volendo rimuovere <em>home</em> e <em>pagine</em>, dunque, possiamo arricchire il nostro .htaccess in questo modo:</p>
<pre class="brush: php;">RewriteEngine on
 RewriteBase /
 RewriteRule ^(home/pagine/){0,1}(.*)$ home/pagine/$2.php [L]</pre>
<p>In base a questa regola, il nostro sorgente sarà <strong>una qualsiasi pagina</strong>, mentre la destinazione sarà <em>home/pagine/ </em>seguita dalla pagina richiamata. <em>www.example.com/index.php</em> verrà quindi riscritta come <em>www.example.com/home/pagine/index.php</em> risultando di fatto raggiungibile. <strong>$2</strong> all’interno della destinazione rappresenta un collegamento alla prima espressione della sorgente e la restituisce così come viene soddisfatta.</p>
<p>Si è stati costretti a ridefinire, inoltre, <strong>l’URL di destinazione anche come sorgente</strong> impostando una specie di condizione: sia se <em>home/pagine/</em> c’è, sia se non c’è, l’URL riscritto deve comunque averlo. Forzare questa dichiarazione è necessaria poiché il server Apache una volta riscritto l’URL per la prima volta e richiamata la pagina, ripete nuovamente l’htaccess dalla prima riga. E’ possibile provare a rimuovere questa ridefinizione solo se la riscrittura non cambia o imposta il nome della pagina, ma aggiorna una chiave passata come parametro.</p>
<p>Ma possiamo  <strong>semplificare ulteriormente</strong> la navigazione all’interno delle pagine rimuovendone l’estensione, a condizione però che siano tutte dello stesso tipo:</p>
<pre class="brush: php;">RewriteEngine on
RewriteBase /
RewriteRule ^(.*).php$ $1
RewriteRule ^(home/pagine/){0,1}(.*)$ home/pagine/$2.php [L]</pre>
<p>Dato che usiamo un’estensione dedicata alle pagine web (php, ovvero scaricandole non è che si fa molto…) come si può vedere dall’esempio, la riga 2 <strong>rimuove l’estensione</strong>, mentre la 3 la riaggiunge. Questo giochino è necessario poiché omettendo la 2 ci ritroveremo chiamata una pagina <em>index.php.php</em>.</p>
<p>Infine manca la <strong>definizione della home page</strong> in modo che se non è indicata alcuna pagina venga richiamato l’index:</p>
<pre class="brush: php;">RewriteEngine on
RewriteBase /
RewriteRule ^(.*).php$ $1
RewriteRule ^$ index
RewriteRule ^(home/pagine/){0,1}(.*)$ home/pagine/$2.php [L]</pre>
<p>Da notare che l’unico <strong>flag</strong> che abbiamo utilizzato è stato [L] e tra quelli disponibili è il più utilizzato. <strong>[L]</strong> permette di interrompe l’elaborazione dell’htaccess se la regola a cui è associato viene eseguita. Altri flags molto comuni sono: <strong>[QSA]</strong> che riporta nella destinazione l’elenco delle variabili passate nell’indirizzo, per esempio, come $_GET, [NC] per indicare che una regola è valida senza considerare le maiuscole e minuscole. Per una lista dei flags è possibile consultare ed <strong>[S=#]</strong> che indica il numero di regole da saltare se quella a cui è associata è valida. Quest’ultima è molto utile per creare degli pseudo <em>if…then…else</em> e la vedremo nella prossima sezione.</p>
<h2><img style="float: right; border: 0px initial initial;"  src="http://www.giovdi.it/wp-content/uploads/2009/11/2009-11-11-037.-Immagine-1.PNG" alt="2009-11-11 - 037. Immagine 1" width="140" height="140" />Le condizioni di RewriteCond</h2>
<p>Se vogliamo che alcune <strong>regole vengano applicate solo in determinate condizioni</strong>, dobbiamo aggiungere un’altra regola. Ci viene in aiuto il RewriteCond.</p>
<p>Il <strong>RewriteCond</strong>, funziona, come per le RewriteRule, per mezzo di espressioni regolari e definisce una regola indicata subito dopo oppure dopo un certo numero di regole specificato che deve essere presa in considerazione solo se la condizione è verificata. La direttiva è definita in questo modo:</p>
<pre class="brush: php; light: true;">RewriteCond condizione [flags]</pre>
<p>Ad esempio, nonostante sia fortemente sconsigliato, nel nostro sito si potrebbe visualizzare <strong>una pagina d’ingresso dedicata a Chrome</strong>. Bisogna un attimino giocarci.</p>
<pre class="brush: php;">RewriteEngine on
RewriteBase /
RewriteRule ^(.*).php$ $1

# Se il browser è Chrome:
RewriteCond %{HTTP_USER_AGENT} ^.*Chrome.*
RewriteRule ^$ index-chr

# Torna infine al flusso principale del file:
RewriteRule ^$ index-alt
RewriteRule ^(home/pagine/){0,1}(.*)$ home/pagine/$2.php [L] </pre>
<p>I commenti dicono tutto.</p>
<p>Le condizioni che è possibile verificare sono innumerevoli: si passa dalle variabili di sistema, quali <strong>HTTP_USER_AGENT</strong> per il tipo di browser, <strong>REQUEST_URI</strong> per l’URL richiesto o puntatori a regole precedenti <strong>($0, $1…)</strong> o condizioni <strong>(%0, %1…)</strong>.</p>
<p>Oltre alle condizioni, comunque, anche qui ci sono i <strong>flags</strong> come <strong>[OR]</strong> per mettere in collegamento due RewriteCond e convalidare la regola successiva per l’una o l’altra espressione, <strong>[-f] </strong>per verificare se un file esiste o <strong>[-d]</strong>per una directory.</p>
<h2>La documentazione ufficiale</h2>
<p>La complessità di questo argomento, però, è talmente vasta che è difficile scrivere tutto in due righe. Per approfondire il discorso, è possibile collegarsi alla <strong><a  href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">pagina dedicata al modulo mod_rewrite</a></strong> del sito Apache.org.</p>
<p>In caso di dubbi o suggerimento, in ogni caso, è possibile lasciare un commento qui <img src='http://www.giovdi.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Condividi:</strong>
</div>
<ul>
	<li class="sociablefirst"><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;partner=sociable" title="Print"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;partner=sociable" title="PDF"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="mailto:?subject=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29&#038;body=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F" title="email"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>	<li><a style="float:left;margin:5px;" rel="nofollow"  href="javascript:AddToFavorites();" title="Add to favorites"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/addtofavorites.png" title="Add to favorites" alt="Add to favorites" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;t=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29" title="Facebook"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.google.com/reader/link?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29" title="Google Buzz"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/buzz.png" title="Google Buzz" alt="Google Buzz" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;t=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29" title="MySpace"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://segnalo.alice.it/post.html.php?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29" title="Segnalo"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/segnalo.png" title="Segnalo" alt="Segnalo" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F" title="Wikio IT"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://oknotizie.alice.it/post?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29&#038;body=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29" title="OKNOtizie"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/oknotizie.png" title="OKNOtizie" alt="OKNOtizie" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://digg.com/submit?phase=2&#038;url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29&#038;bodytext=Una%20volta%20attivato%20il%20modulo%20con%20RewriteEngine%20ed%20impostata%20la%20cartella%20base%20con%20RewriteBase%2C%20%C3%A8%20il%20momento%20di%20occuparci%20delle%20altre%202%20tipologie%20di%20direttive%3A%20RewriteRule%20e%20RewriteCond%2C%20fondamentali%20per%20una%20buona%20riscrittura%20degli%20URL." title="Digg"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29&#038;notes=Una%20volta%20attivato%20il%20modulo%20con%20RewriteEngine%20ed%20impostata%20la%20cartella%20base%20con%20RewriteBase%2C%20%C3%A8%20il%20momento%20di%20occuparci%20delle%20altre%202%20tipologie%20di%20direttive%3A%20RewriteRule%20e%20RewriteCond%2C%20fondamentali%20per%20una%20buona%20riscrittura%20degli%20URL." title="del.icio.us"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F" title="Technorati"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&#038;bkmk=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29&#038;annotation=Una%20volta%20attivato%20il%20modulo%20con%20RewriteEngine%20ed%20impostata%20la%20cartella%20base%20con%20RewriteBase%2C%20%C3%A8%20il%20momento%20di%20occuparci%20delle%20altre%202%20tipologie%20di%20direttive%3A%20RewriteRule%20e%20RewriteCond%2C%20fondamentali%20per%20una%20buona%20riscrittura%20degli%20URL." title="Google Bookmarks"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&#038;url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29" title="Live"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>	<li class="sociablelast"><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://bookmarks.yahoo.com/toolbar/savebm?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F549%2Fhtaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2%2F&#038;t=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%202%29&#038;opener=bm&#038;ei=UTF-8&#038;d=Una%20volta%20attivato%20il%20modulo%20con%20RewriteEngine%20ed%20impostata%20la%20cartella%20base%20con%20RewriteBase%2C%20%C3%A8%20il%20momento%20di%20occuparci%20delle%20altre%202%20tipologie%20di%20direttive%3A%20RewriteRule%20e%20RewriteCond%2C%20fondamentali%20per%20una%20buona%20riscrittura%20degli%20URL." title="Yahoo! Bookmarks"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/yahoomyweb.png" title="Yahoo! Bookmarks" alt="Yahoo! Bookmarks" class="sociable-hovers" /></a></li></ul>
</div>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.giovdi.it/post/549/htaccess-e-mod_rewrite-per-creare-pagine-facili-da-trovare-parte-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.htaccess e mod_rewrite per creare pagine facili da trovare (parte 1)</title>
		<link>http://www.giovdi.it/post/538/htaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1/</link>
		<comments>http://www.giovdi.it/post/538/htaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 11:01:36 +0000</pubDate>
		<dc:creator>Giovdi</dc:creator>
				<category><![CDATA[Guide pratiche]]></category>
		<category><![CDATA[Internet: Realizzare siti web]]></category>
		<category><![CDATA[Programmazione: Web server]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Xampp]]></category>

		<guid isPermaLink="false">http://www.giovdi.it/?p=538</guid>
		<description><![CDATA[Quando si parla di SEO, i più esperti storcono il naso perché si sa che il pagerank non dipende da come sono scritte le pagine. Però in questo caso possiamo utilizzare l’htaccess sia per migliorare il SEO, sia per rendere più facili da trovare le nostre pagine web. Vediamo come.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&amp;source=Giovdi&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-536"  src="http://www.giovdi.it/wp-content/uploads/2009/11/2009-11-07-036.-Immagine-1.png" alt="2009-11-07 - 036. Immagine 1" width="180" height="126" />Dopo alcuni giorni un po’ frenetici torno a scrivere la prima parte di questo tutorial, speriamo sia gradita <img src='http://www.giovdi.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Quando si parla di SEO, i più esperti storcono il naso perché si sa che il pagerank non dipende da come sono scritte le pagine. Però in questo caso possiamo utilizzare l’htaccess sia per migliorare il SEO, sia per <strong>rendere più facili da trovare le nostre pagine web</strong>.</p>
<p>Vediamo come.</p>
<p><span id="more-538"></span></p>
<h2>Il file .htaccess ed il modulo mod_rewrite</h2>
<p>Innanzitutto è bene fare una panoramica per chi non conosce i due strumenti di cui andremo a parlare: l’htaccess ed il mod_rewrite.</p>
<p>Un file <strong>.htaccess</strong>, inserito all’interno di una cartella del sito, permette di <strong>gestire facilmente alcune configurazioni ed operazioni</strong> come ad esempio redirect, riscrittura degli URL, protezione di una cartella per mezzo di user e password e molte altre.</p>
<p>Noi ci soffermeremo sulla riscrittura degli URL e ci aiuteremo con il mod_rewrite. Questo tutorial focalizza la propria attenzione sul modulo in ambiente Apache poiché è quello più usato. Per l’IIS, dato che non esiste un’unica versione la maggior parte delle quali è a pagamento, è consigliabile effettuare una <a  href="http://www.google.com/search?hl=it&#038;q=mod_rewrite+IIS">ricerca su Google</a>.</p>
<p>Il <strong>mod_rewrite</strong> è un modulo che<strong> ci permette di dire al server di interpretare un certo URL in un altro modo per mezzo di regole e condizioni</strong>. Le regole e le condizioni funzionano per mezzo di espressioni regolari. Quelle che vedremo saranno di semplice interpretazione, quindi niente paura.</p>
<h2>Creiamo il file e accendiamo il motore con RewriteEngine</h2>
<p>La prima cosa da fare è <strong>creare il file</strong> <strong>.htaccess</strong> nella cartella principale del server, non vi sto nemmeno a spiegare come <img src='http://www.giovdi.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Nel file è necessario “<strong>accendere il motore</strong>”, fare in modo che il nostro modulo mod_rewrite parta e possiamo iniziare con il scrivere:</p>
<pre class="brush: php; light: true;">RewriteEngine on</pre>
<p>Ora cominciamo a scrivere le regole. In particolare oggi vedremo la direttiva RewriteBase, mentre domani vedremo RewriteRule e RewriteCond.</p>
<h2>La direttiva RewriteBase</h2>
<p><img class="alignright size-full wp-image-537"  src="http://www.giovdi.it/wp-content/uploads/2009/11/2009-11-07-036.-Immagine-2.PNG" alt="2009-11-07 - 036. Immagine 2" width="302" height="234" /></p>
<p>Il <strong>RewriteBase</strong> è utilizzato per indicare <strong>il path della cartella a cui applicare le nostre regole</strong>.</p>
<p>Facciamo un esempio. Supponiamo di avere un sito la cui struttura è come quella in figura. In home ci sono tutti i contenuti da visualizzare, mentre in scripts gli script php. La nostra home page in php è annidata nella cartella home, quindi per accedervi bisogna scrivere <em>www.example.com/home/pagine/index.php</em></p>
<p>Cominciamo ad accorciare il nostro URL.</p>
<p>Se volessimo indicare come cartella principale home, ovvero fare in modo che la richiesta a <em>www.example.com/home/index.php</em> sia valida, dovremmo inserire:</p>
<pre class="brush: php;">RewriteEngine on
RewriteBase /home</pre>
<p>all&#8217;interno del file .htaccess che andrà nella cartella home e nel file creare le nostre regole di riscrittura.</p>
<p>Sia per comodità, però, sia perché vogliamo ridurre al minimo l’URL del nostro sito, possiamo accorciare ulteriormente la base scrivendo:</p>
<pre class="brush: php;">RewriteEngine on
RewriteBase /</pre>
<p>aggiungendo il file alla cartella principale del sito. Semplice, no? In questo modo possiamo creare le regole di riscrittura in modo da gestire una chiamata a <em>www.example.com/index.php</em> trasformandola in <em>www.example.com/home/pagine/index.php </em>automaticamente.</p>
<p>Per le regole di RewriteRule e le condizioni di RewriteCond, l’appuntamento è per domani <img src='http://www.giovdi.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Condividi:</strong>
</div>
<ul>
	<li class="sociablefirst"><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;partner=sociable" title="Print"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;partner=sociable" title="PDF"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="mailto:?subject=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29&#038;body=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F" title="email"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>	<li><a style="float:left;margin:5px;" rel="nofollow"  href="javascript:AddToFavorites();" title="Add to favorites"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/addtofavorites.png" title="Add to favorites" alt="Add to favorites" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;t=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29" title="Facebook"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.google.com/reader/link?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29" title="Google Buzz"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/buzz.png" title="Google Buzz" alt="Google Buzz" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;t=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29" title="MySpace"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://segnalo.alice.it/post.html.php?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29" title="Segnalo"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/segnalo.png" title="Segnalo" alt="Segnalo" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F" title="Wikio IT"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://oknotizie.alice.it/post?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29&#038;body=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29" title="OKNOtizie"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/oknotizie.png" title="OKNOtizie" alt="OKNOtizie" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://digg.com/submit?phase=2&#038;url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29&#038;bodytext=Quando%20si%20parla%20di%20SEO%2C%20i%20pi%C3%B9%20esperti%20storcono%20il%20naso%20perch%C3%A9%20si%20sa%20che%20il%20pagerank%20non%20dipende%20da%20come%20sono%20scritte%20le%20pagine.%20Per%C3%B2%20in%20questo%20caso%20possiamo%20utilizzare%20l%E2%80%99htaccess%20sia%20per%20migliorare%20il%20SEO%2C%20sia%20per%20rendere%20pi%C3%B9%20facili%20da%20trovare%20le%20nostre%20pagine%20web.%20Vediamo%20come." title="Digg"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29&#038;notes=Quando%20si%20parla%20di%20SEO%2C%20i%20pi%C3%B9%20esperti%20storcono%20il%20naso%20perch%C3%A9%20si%20sa%20che%20il%20pagerank%20non%20dipende%20da%20come%20sono%20scritte%20le%20pagine.%20Per%C3%B2%20in%20questo%20caso%20possiamo%20utilizzare%20l%E2%80%99htaccess%20sia%20per%20migliorare%20il%20SEO%2C%20sia%20per%20rendere%20pi%C3%B9%20facili%20da%20trovare%20le%20nostre%20pagine%20web.%20Vediamo%20come." title="del.icio.us"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F" title="Technorati"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&#038;bkmk=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29&#038;annotation=Quando%20si%20parla%20di%20SEO%2C%20i%20pi%C3%B9%20esperti%20storcono%20il%20naso%20perch%C3%A9%20si%20sa%20che%20il%20pagerank%20non%20dipende%20da%20come%20sono%20scritte%20le%20pagine.%20Per%C3%B2%20in%20questo%20caso%20possiamo%20utilizzare%20l%E2%80%99htaccess%20sia%20per%20migliorare%20il%20SEO%2C%20sia%20per%20rendere%20pi%C3%B9%20facili%20da%20trovare%20le%20nostre%20pagine%20web.%20Vediamo%20come." title="Google Bookmarks"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&#038;url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;title=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29" title="Live"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>	<li class="sociablelast"><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://bookmarks.yahoo.com/toolbar/savebm?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F538%2Fhtaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1%2F&#038;t=.htaccess%20e%20mod_rewrite%20per%20creare%20pagine%20facili%20da%20trovare%20%28parte%201%29&#038;opener=bm&#038;ei=UTF-8&#038;d=Quando%20si%20parla%20di%20SEO%2C%20i%20pi%C3%B9%20esperti%20storcono%20il%20naso%20perch%C3%A9%20si%20sa%20che%20il%20pagerank%20non%20dipende%20da%20come%20sono%20scritte%20le%20pagine.%20Per%C3%B2%20in%20questo%20caso%20possiamo%20utilizzare%20l%E2%80%99htaccess%20sia%20per%20migliorare%20il%20SEO%2C%20sia%20per%20rendere%20pi%C3%B9%20facili%20da%20trovare%20le%20nostre%20pagine%20web.%20Vediamo%20come." title="Yahoo! Bookmarks"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/yahoomyweb.png" title="Yahoo! Bookmarks" alt="Yahoo! Bookmarks" class="sociable-hovers" /></a></li></ul>
</div>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.giovdi.it/post/538/htaccess-e-mod_rewrite-per-pagine-facili-da-trovare-parte-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Realizzare un robot per pagine che si aggiornano automaticamente</title>
		<link>http://www.giovdi.it/post/354/realizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente/</link>
		<comments>http://www.giovdi.it/post/354/realizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 23:03:28 +0000</pubDate>
		<dc:creator>Giovdi</dc:creator>
				<category><![CDATA[Guide pratiche]]></category>
		<category><![CDATA[Programmazione: Web]]></category>
		<category><![CDATA[Programmazione: Web server]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.giovdi.it/?p=354</guid>
		<description><![CDATA[Alcuni servizi necessitano di funzioni e informazioni che, per essere completi, devono provenire da altri siti web. Se queste informazioni, poi, sono in continuo aggiornamento, le possibilità diventano 2: inserire le novità manualmente sul sito oppure realizzare un robot che aggiorna il tutto al posto nostro.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&amp;source=Giovdi&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-391"  src="http://www.giovdi.it/wp-content/uploads/2009/10/2009-10-04-027.-Immagine-1.jpg" alt="2009-10-04 - 027. Immagine 1" width="127" height="180" />Alcuni servizi necessitano di funzioni e informazioni che, per essere completi, devono provenire da altri siti web. Se queste informazioni, poi, sono in continuo aggiornamento, le possibilità diventano 2: inserire le novità manualmente sul sito oppure <strong>realizzare un robot che aggiorna il tutto al posto nostro</strong>.</p>
<p>Entriamo nel dettaglio della seconda scelta.</p>
<p><span id="more-354"></span></p>
<h2>Passi da seguire</h2>
<p>Innanzitutto bisogna pensare che la realizzazione di un robot non è una cosa <strong>né immediata né tantomeno</strong> <strong>semplice</strong>. Possiamo dividere il nostro lavoro in 5 compiti:</p>
<ul>
<li>Individuazione delle pagine da acquisire</li>
<li>Posizionamento del cursore all’interno della pagina</li>
<li>Acquisizione dati e spostamento del cursore</li>
<li>Operazioni finali sul codice</li>
<li>Impostare il crontab</li>
</ul>
<p>A seconda delle nostre esigenze, questi compiti possono essere più o meno complessi.</p>
<p>In questo articolo verrà dimostrato come realizzare un semplice robot che acquisisce tutte le headlines del sito <em>Corriere.it</em></p>
<h2>Individuazione delle pagine da acquisire</h2>
<p>Precisiamo una cosa: realizzare un robot <strong>non è sempre possibile</strong>. In alcuni siti è espressamente vietato, mentre per altri bisogna tenere in considerazione i diritti d’autore. Quindi fate attenzione su cosa volete concentrarvi.</p>
<p>Il primo compito è <strong>l’individuazione delle pagine da acquisire</strong>. Nel nostro caso, ci focalizzeremo sulla home page e l’acquisiremo tramite il comando <em>file_get_contents</em>:</p>
<pre class="brush: php; light: true;">$content = file_get_contents(&quot;http://www.corriere.it/index.shtml&quot;);
</pre>
<p>oppure tramite una chiamata socket con <em>fsockopen</em>:</p>
<pre class="brush: php; toolbar: true;">//connessione al sito:
$viart_xml = fsockopen(&quot;www.corriere.it&quot;, 80, $errno, $errstr, 12);
	// indicazione della pagina da chiamare:
	fputs($viart_xml, &quot;GET /index.shtml HTTP/1.0\r\n&quot;);
	fputs($viart_xml, &quot;Host: www. corriere.it\r\n&quot;);
	// referer da simulare, per alcuni siti è obbligatorio:
	fputs($viart_xml, &quot;Referer: http://www.example.com\r\n&quot;);
	fputs($viart_xml, &quot;User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\r\n&quot;);
	if (!$viart_xml) {
		die(&quot;$errstr ($errno)&lt;br /&gt;\n&quot;);
	} else {
	$content = &quot;&quot;;
	while (!feof($viart_xml)) {
		$content .= fgets($viart_xml, 1000000);
	}
	fclose($viart_xml);
}</pre>
<p>La nostra pagina sarà codificata in HTML e sarà assegnata per intero alla variabile <em>content</em>.</p>
<h2>Posizionamento del cursore all’interno della pagina</h2>
<p>Acquisita la pagina, sarà necessario <strong>spostarci all’interno di essa</strong> e qui entra in gioco una funzione che può esserci molto utile:</p>
<pre class="brush: php;">function strlimit($text, $text_init = &quot;&quot;, $text_end = &quot;&quot;, $pos_init = 0)
{
	if (strlen($text_end) &gt; 0)
		return substr($text, strlen($text_init) &gt; 0 ? $pos = strpos($text, $text_init, $pos_init) + strlen($text_init) : 0, strpos($text, $text_end, $pos) - $pos);
	else
		return substr($text, strlen($text_init) &gt; 0 ? strpos($text, $text_init, $pos_init) + strlen($text_init) : 0);
}</pre>
<p>La funzione <em>strlimit</em>, realizzata ad hoc, ci permette di selezionare un testo all’interno di una variabile delimitato da <em>text_init</em> e <em>text_end</em> facendo partire la scansione da <em>pos_init</em>. Ad esempio:</p>
<pre class="brush: php;">$var = '1234564567890';
echo strlimit($var, '3', '8');    //output: 4564567
echo strlimit($var, '5', '8');    //output: 674567
echo strlimit($var, '5', '8', 6);     //output: 67</pre>
<p>La <strong>selezione del testo</strong> può avvenire in due modi: permanentemente e temporaneamente. Una <strong>selezione permanente</strong> ci permette di gestire una parte di codice più piccola che non presenterà ambiguità, mentre una <strong>temporanea</strong> ci permette di operare senza alterare la sorgente.</p>
<p>Nel nostro esempio possiamo vedere come applicare questa selezione, effettuando le seguenti operazioni:</p>
<pre class="brush: php;">// La variabile con tutto il contenuto della pagina ricordo che è $content
$content = strlimit($content, 'maincontent', 'vaschetta3');
// questa è una selezione permanente, in cui l’html viene limitato alla parte sinistra della pagina, da maincontent (la prima notizia) a vaschetta3 (le 3 immagini in fondo)
// analizzando il codice si può notare che ogni articolo inizia con un ‘homearticle-box’ e con la funzione explode siamo in grado di metterli in un array:
$articles = explode('homearticle-box', $content);</pre>
<h2>Acquisizione dati e spostamento del cursore</h2>
<p>Ora che abbiamo tutti gli articoli, possiamo <strong>muoverci all’interno di essi per</strong> <strong>acquisirne i dettagli</strong> quali titolo, sottotitolo e occhiello. Qui entrano in gioco le selezioni temporanee che lasciano intatto il codice sorgente. Vediamo come (per semplificare ipotizzo che non ci siano news straordinarie):</p>
<pre class="brush: php;">for ($i = 0; $i &lt; count($articles); $i++) {
	$subtitle = strlimit($articles[$i], '&lt;p&gt;', '&lt;/p&gt;');
	$title = strlimit($articles[$i], '&lt;h2&gt;', '&lt;/h2&gt;');
	$occh = strlimit($articles[$i], 'class=&quot;hour&quot;', '&lt;/p&gt;');
	// …
	// qui ora vengono effettuate tutte quelle operazioni di pulizia e sistemazione dei tre oggetti, quail rimozione link, tag ecc. . Al termine assegniamo il risultato ad una variabile risultato.
	$risultato[$i] = array(
		'sottotitolo' =&gt; $subtitle,
		'titolo' =&gt; $title,
		'occhiello' =&gt; $occh
	);
}
</pre>
<p>A questo punto avremo un <strong>array risultato</strong> con tutti gli articoli pronti per essere visualizzati o salvati in un database.</p>
<h2>Operazioni finali</h2>
<p>Ora sarà possibile gestire l&#8217;array per <strong>visualizzare a video</strong> le informazioni acquisite o <strong>salvarle in un database</strong>. Per quest&#8217;ultima operazione è consigliabile controllare che ogni articolo non sia già inserito per evitare doppioni facendo un controllo sul link (che rimane fisso una volta scritto).</p>
<p>Un esempio potrebbe essere la visualizzazione degli articoli:</p>
<pre class="brush: php;">for ($i = 0; $i &lt; count ($risultato); $i++) {
	echo '&lt;h3&gt;'.$risultato[$i]['sottotitolo'].'&lt;/h3&gt;'.&quot;\n&quot;;
	echo '&lt;h1&gt;'.$risultato[$i]['titolo'].'&lt;/h1&gt;' .&quot;\n&quot;;
	echo '&lt;h2&gt;'.$risultato[$i]['occhiello'].'&lt;/h2&gt;' .&quot;\n&quot;;
	echo '&lt;hr&gt;'.&quot;\n\n&quot;;
}
</pre>
<h2>Impostare il crontab</h2>
<p><img class="alignleft size-full wp-image-395"  src="http://www.giovdi.it/wp-content/uploads/2009/10/2009-10-04-027.-Immagine-2.PNG" alt="2009-10-04 - 027. Immagine 2" width="182" height="128" />Completata la realizzazione della pagina si passa <strong>all’impostazione del cron</strong>. Ogni piattaforma ha proprie opzioni per mettere a punto questo strumento.</p>
<p>Per eseguire lo script php, di norma, occorre impostare il task in modo che esegua <strong>l’azione</strong>:</p>
<p><strong><br />
</strong></p>
<pre class="brush: php; light: true;">cd /var/www/vhosts/example.com/httpdocs; php -q robot.php
</pre>
<p>oppure un’azione simile in base alle impostazioni del server.</p>
<p>Un’ottima referenza per <strong>gli orari</strong> dei task, invece, è la <a  href="http://it.wikipedia.org/wiki/Crontab">Wikipedia</a> che spiega con molti esempi come impostarli.</p>
<p>Impostato il cron, è consigliabile effettuare dei <strong>test</strong> per vedere se il tutto funzionerà a dovere, semplicemente digitando nel proprio browser l’indirizzo del robot e verificando che il risultato sia quello previsto.</p>
<p>Questo è quanto, se avete suggerimenti o informazioni commentate.</p>
<p><em>(Immagine alta: Flicker, à voir etc&#8230;)</em></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Condividi:</strong>
</div>
<ul>
	<li class="sociablefirst"><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;partner=sociable" title="Print"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;partner=sociable" title="PDF"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="mailto:?subject=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente&#038;body=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F" title="email"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>	<li><a style="float:left;margin:5px;" rel="nofollow"  href="javascript:AddToFavorites();" title="Add to favorites"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/addtofavorites.png" title="Add to favorites" alt="Add to favorites" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;t=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente" title="Facebook"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.google.com/reader/link?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;title=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente" title="Google Buzz"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/buzz.png" title="Google Buzz" alt="Google Buzz" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;t=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente" title="MySpace"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://segnalo.alice.it/post.html.php?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;title=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente" title="Segnalo"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/segnalo.png" title="Segnalo" alt="Segnalo" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F" title="Wikio IT"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://oknotizie.alice.it/post?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;title=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente&#038;body=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente" title="OKNOtizie"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/oknotizie.png" title="OKNOtizie" alt="OKNOtizie" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://digg.com/submit?phase=2&#038;url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;title=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente&#038;bodytext=Alcuni%20servizi%20necessitano%20di%20funzioni%20e%20informazioni%20che%2C%20per%20essere%20completi%2C%20devono%20provenire%20da%20altri%20siti%20web.%20Se%20queste%20informazioni%2C%20poi%2C%20sono%20in%20continuo%20aggiornamento%2C%20le%20possibilit%C3%A0%20diventano%202%3A%20inserire%20le%20novit%C3%A0%20manualmente%20sul%20sito%20oppure%20realizzare%20un%20robot%20che%20aggiorna%20il%20tutto%20al%20posto%20nostro." title="Digg"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;title=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente&#038;notes=Alcuni%20servizi%20necessitano%20di%20funzioni%20e%20informazioni%20che%2C%20per%20essere%20completi%2C%20devono%20provenire%20da%20altri%20siti%20web.%20Se%20queste%20informazioni%2C%20poi%2C%20sono%20in%20continuo%20aggiornamento%2C%20le%20possibilit%C3%A0%20diventano%202%3A%20inserire%20le%20novit%C3%A0%20manualmente%20sul%20sito%20oppure%20realizzare%20un%20robot%20che%20aggiorna%20il%20tutto%20al%20posto%20nostro." title="del.icio.us"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F" title="Technorati"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&#038;bkmk=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;title=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente&#038;annotation=Alcuni%20servizi%20necessitano%20di%20funzioni%20e%20informazioni%20che%2C%20per%20essere%20completi%2C%20devono%20provenire%20da%20altri%20siti%20web.%20Se%20queste%20informazioni%2C%20poi%2C%20sono%20in%20continuo%20aggiornamento%2C%20le%20possibilit%C3%A0%20diventano%202%3A%20inserire%20le%20novit%C3%A0%20manualmente%20sul%20sito%20oppure%20realizzare%20un%20robot%20che%20aggiorna%20il%20tutto%20al%20posto%20nostro." title="Google Bookmarks"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&#038;url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;title=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente" title="Live"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>	<li class="sociablelast"><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://bookmarks.yahoo.com/toolbar/savebm?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F354%2Frealizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente%2F&#038;t=Realizzare%20un%20robot%20per%20pagine%20che%20si%20aggiornano%20automaticamente&#038;opener=bm&#038;ei=UTF-8&#038;d=Alcuni%20servizi%20necessitano%20di%20funzioni%20e%20informazioni%20che%2C%20per%20essere%20completi%2C%20devono%20provenire%20da%20altri%20siti%20web.%20Se%20queste%20informazioni%2C%20poi%2C%20sono%20in%20continuo%20aggiornamento%2C%20le%20possibilit%C3%A0%20diventano%202%3A%20inserire%20le%20novit%C3%A0%20manualmente%20sul%20sito%20oppure%20realizzare%20un%20robot%20che%20aggiorna%20il%20tutto%20al%20posto%20nostro." title="Yahoo! Bookmarks"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/yahoomyweb.png" title="Yahoo! Bookmarks" alt="Yahoo! Bookmarks" class="sociable-hovers" /></a></li></ul>
</div>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.giovdi.it/post/354/realizzare-un-robot-per-pagine-che-si-aggiornano-automaticamente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uno o più web server su drive USB, con XAMPP si può</title>
		<link>http://www.giovdi.it/post/18/uno-o-piu-web-server-su-drive-usb-con-xampp-si-puo/</link>
		<comments>http://www.giovdi.it/post/18/uno-o-piu-web-server-su-drive-usb-con-xampp-si-puo/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 11:40:59 +0000</pubDate>
		<dc:creator>Giovdi</dc:creator>
				<category><![CDATA[Guide pratiche]]></category>
		<category><![CDATA[Programmazione: Web server]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Xampp]]></category>

		<guid isPermaLink="false">http://www.giovdi.it/?p=18</guid>
		<description><![CDATA[Installando e lavorando con un web server, la prima cosa che ci viene in mente è: posso portare con me il lavoro e lavorare da un qualsiasi computer senza problemi?

In questo caso ci viene in aiuto lo XAMPP, uno dei più famosi  web server che comprende, tra i tanti componenti, un server web Apache, un server database MySql e supporta alcuni dei più diffusi linguaggi di programmazione come PHP e PERL.

Con questa breve guida, è possibile installare quanti web server si vuole per lavorare in piena mobilità, semplicemente scaricando il pacchetto ZIP e impostando le porte in modo che non creino conflitto con eventuali altre installazioni su altri supporti o computer. Noi ci occuperemo ci occuperemo di installare Apache e MySql.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&amp;source=Giovdi&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-167"  src="http://www.giovdi.it/wp-content/uploads/2009/06/Xampp1.png" alt="Xampp" width="150" height="149" />Installando e lavorando con un web server, la prima cosa che ci viene in mente è: <strong>posso portare con me il lavoro e lavorare da un qualsiasi computer senza problemi?</strong></p>
<p>In questo caso ci viene in aiuto lo <strong>XAMPP</strong>, uno dei più famosi  web server che comprende, tra i tanti componenti, un server web Apache, un server database MySql e supporta alcuni dei più diffusi linguaggi di programmazione come PHP e PERL.</p>
<p>Con questa breve guida, è possibile installare <strong>quanti web server si vuole</strong> <strong>per lavorare in piena mobilità</strong>, semplicemente scaricando il pacchetto ZIP e impostando le porte in modo che non creino conflitto con eventuali altre installazioni su altri supporti o computer. Noi ci occuperemo ci occuperemo di installare Apache e MySql.</p>
<p><span id="more-18"></span></p>
<h2>Scaricare e preparare il pacchetto XAMPP</h2>
<p>Innanzitutto è necessario <strong>scaricare il pacchetto XAMPP</strong> dal sito ufficiale (attualmente è disponibile la versione 1.7.1) in formato ZIP disponibile <a  href="http://www.apachefriends.org/it/xampp-windows.html">qui</a>.</p>
<p style="text-align: center; "><img class="size-full wp-image-21 aligncenter"  src="http://www.giovdi.it/wp-content/uploads/2009/06/2009-06-21-Immagine-1.png" alt="2009-06-21 - Immagine 1" width="500" height="204" /></p>
<p>Una volta scaricato, è fortemente consigliato <strong>scompattarlo nella cartella principale del supporto USB utilizzato</strong>, in modo da avere tutte le cartelle e i programmi di avvio/arresto nella cartella <em>X:\xampp</em> (dove X, da ora in avanti è sempre la lettera del supporto USB).</p>
<p style="text-align: center; "><img class="alignnone size-full wp-image-22"  src="http://www.giovdi.it/wp-content/uploads/2009/06/2009-06-21-Immagine-2.png" alt="2009-06-21 - Immagine 2" width="442" height="192" /></p>
<p>Nel caso si scelga un’altra cartella, sarà necessario modificare i file di configurazione di tutti i componenti utilizzati.</p>
<p>A questo punto il server XAMPP è pronto per essere avviato… ma se abbiamo un altro web server già attivo sul pc oppure le porte che ne consentono il corretto funzionamento sono già occupate? La risposta nel prossimo paragrafo.</p>
<h2>Risolvere conflitti di porte</h2>
<p><strong>Se è già presente un web server o un’applicazione occupa le porte predefinite (80, 443 e 3306)</strong>, ci viene in soccorso un programma che si trova nella cartella xampp e si chiama “<em>xampp-portcheck</em>”.</p>
<p><img class="alignleft size-full wp-image-23"  src="http://www.giovdi.it/wp-content/uploads/2009/06/2009-06-21-Immagine-3.png" alt="2009-06-21 - Immagine 3" width="288" height="178" />Questa utility consente di verificare la disponibilità delle porte sopra citate, in modo da poter risolvere eventuali conflitti di porte.</p>
<p>Come si può notare dall’immagine, nel nostro caso è già presente un web server sul pc, quindi le porte richieste sono occupate. Per sistemare questo problema <strong>basta modificare le relative porte nei seguenti file </strong>(è possibile aprirli con il blocco note):</p>
<p><strong><em>X:\xampp\apache\conf\httpd.conf<br />
</em></strong>Cerca la linea<br />
<code>Listen 80</code><br />
(nelle prime righe, subito prima dell’elenco dei LoadModule) e sostituisci la porta 80 con un’altra, ad esempio la 81, e cerca la linea<br />
<code>ServerName localhost:80</code><br />
(subito dopo la l’elenco dei LoadModule) sostituendo anche qui con la porta indicata in precedenza<strong><em> </em></strong></p>
<p><strong><em>X:\xampp\apache\conf\extra\httpd-ssl.conf<br />
</em></strong>Cerca la linea<br />
<code>Listen 443</code><br />
(nelle prime righe) e sostituisci la porta 443 con un’altra, ad esempio la 444<strong><em> </em></strong></p>
<p><strong><em>X:\xampp\mysql\bin\my.ini<br />
</em></strong>Cerca le 2 linee<br />
<code>port = 3306</code><br />
(sono quasi una sotto l’altra) e sostituisci la porta 3306 con un’altra, ad esempio la 3307.<strong><em> </em></strong></p>
<p>In questo modo è possibile avviare il web server senza problemi.</p>
<h2>Separare la cartella dei documenti da quella del server</h2>
<p>Un trucchetto molto utile è <strong>separare la cartella dei documenti dal server principale</strong>. Questa procedura permette di tenere ordinata la pennetta e di poter anche nascondere la cartella del web server dato che non sarà più utilizzata.</p>
<p><img class="alignleft size-full wp-image-24"  src="http://www.giovdi.it/wp-content/uploads/2009/06/2009-06-21-Immagine-4.png" alt="2009-06-21 - Immagine 4" width="270" height="236" />Ad esempio: vogliamo fare in modo tutti i documenti siano in <em>X:\Siti web</em>, anziché <em>X:\xampp\htdocs</em>. Tutto quello che bisogna fare è <strong>modificare due linee del file httpd.conf</strong> visto in precedenza:</p>
<p><strong><em>X:\xampp\apache\conf\httpd.conf<br />
</em></strong>Cerca la linea<br />
<code>DocumentRoot "/xampp/htdocs"</code><br />
(poco dopo l’elenco dei LoadModule) e sostituisci la cartella con quella preferita senza la lettera dell’unità, nel nostro caso “/Siti web”, e cerca la linea<br />
<code>&lt;Directory "/xampp/htdocs"&gt;</code><br />
(qualche riga più sotto) sostituendo anche qui con la cartella indicata in precedenza.</p>
<p>Da notare che qui <strong>vengono inseriti i ‘/’, invece dei classici ‘\’</strong> per indicare il percorso di una cartella.</p>
<p>E’ consigliabile, comunque, copiare la cartella phpMyAdmin da <em>X:\xampp</em> nella cartella desiderata per poter gestire i database di MySql. Dopo il termine della guida è possibile anche nascondere la cartella xampp</p>
<h2>Avvio del web server</h2>
<p>Siamo arrivati all’ultimo punto della guida, ovvero <strong>avviare il nostro web server</strong>. Per avviarlo, basta fare doppio clic su “<em>xampp_start</em>” nella cartella <em>X:\xampp</em>. Se la procedura seguita è corretta, basterà aprire il browser preferito e digitare la nostra home page locale <em>http://localhost</em> (oppure <em>http://localhost:81</em> o altra porta se è stata modificata nei precedenti paragrafi) e verificare che venga visualizzata la prima pagina dello xampp oppure una pagina “Index of”.</p>
<p>Da ora <strong>è possibile inserire i file </strong>all’interno della cartella <em>X:\xampp\htdocs</em> oppure la propria cartella preferita se si è scelto di cambiarla.</p>
<p><strong>Per fermare il web server è SEMPRE necessario avviare il programma “<em>xampp_stop</em>”</strong>. Togliere la pennetta senza fermare il web server rischia di renderla inutilizzabile se non dopo un riavvio o una formattazione.</p>
<p>Per comodità, è anche possibile creare due collegamenti dei programmi “<em>xampp_start</em>” e “<em>xampp_stop</em>” nella directory principale del supporto USB <em>X:\</em>, in modo da poter avviare ed arrestare facilmente il web server senza andarlo a ripescare all’interno della cartella <em>X:\xampp</em>.</p>
<p><img class="alignleft size-full wp-image-25"  src="http://www.giovdi.it/wp-content/uploads/2009/06/2009-06-21-Immagine-5.png" alt="2009-06-21 - Immagine 5" width="237" height="146" />Ecco dunque che il contenuto finale della nostra pennetta USB sarà simile a quello al lato.</p>
<p>Questo è tutto, se avete problemi, suggerimenti o commenti potete scriverli sotto l’articolo.</p>
<p><strong>Buon lavoro!</strong></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Condividi:</strong>
</div>
<ul>
	<li class="sociablefirst"><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&#038;partner=sociable" title="Print"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&#038;partner=sociable" title="PDF"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="mailto:?subject=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20&#038;body=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F" title="email"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>	<li><a style="float:left;margin:5px;" rel="nofollow"  href="javascript:AddToFavorites();" title="Add to favorites"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/addtofavorites.png" title="Add to favorites" alt="Add to favorites" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&#038;t=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20" title="Facebook"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.google.com/reader/link?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&#038;title=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20" title="Google Buzz"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/buzz.png" title="Google Buzz" alt="Google Buzz" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&#038;t=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20" title="MySpace"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://segnalo.alice.it/post.html.php?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&#038;title=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20" title="Segnalo"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/segnalo.png" title="Segnalo" alt="Segnalo" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://www.wikio.it/vote?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F" title="Wikio IT"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/wikio.png" title="Wikio IT" alt="Wikio IT" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://oknotizie.alice.it/post?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&#038;title=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20&#038;body=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20" title="OKNOtizie"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/oknotizie.png" title="OKNOtizie" alt="OKNOtizie" class="sociable-hovers" /></a></li>	<li><a style="float:left;margin:5px;" rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&amp;title=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20&amp;bodytext=Installando%20e%20lavorando%20con%20un%20web%20server%2C%20la%20prima%20cosa%20che%20ci%20viene%20in%20mente%20%C3%A8%3A%20posso%20portare%20con%20me%20il%20lavoro%20e%20lavorare%20da%20un%20qualsiasi%20computer%20senza%20problemi%3F%0D%0A%0D%0AIn%20questo%20caso%20ci%20viene%20in%20aiuto%20lo%20XAMPP%2C%20uno%20dei%20pi%C3%B9%20famosi%20%20web%20server%20che%20comprende%2C%20tra%20i%20tanti%20componenti%2C%20un%20server%20web%20Apache%2C%20un%20server%20database%20MySql%20e%20supporta%20alcuni%20dei%20pi%C3%B9%20diffusi%20linguaggi%20di%20programmazione%20come%20PHP%20e%20PERL.%0D%0A%0D%0ACon%20questa%20breve%20guida%2C%20%C3%A8%20possibile%20installare%20quanti%20web%20server%20si%20vuole%20per%20lavorare%20in%20piena%20mobilit%C3%A0%2C%20semplicemente%20scaricando%20il%20pacchetto%20ZIP%20e%20impostando%20le%20porte%20in%20modo%20che%20non%20creino%20conflitto%20con%20eventuali%20altre%20installazioni%20su%20altri%20supporti%20o%20computer.%20Noi%20ci%20occuperemo%20ci%20occuperemo%20di%20installare%20Apache%20e%20MySql." title="Digg"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>	<li><a style="float:left;margin:5px;" rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&amp;title=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20&amp;notes=Installando%20e%20lavorando%20con%20un%20web%20server%2C%20la%20prima%20cosa%20che%20ci%20viene%20in%20mente%20%C3%A8%3A%20posso%20portare%20con%20me%20il%20lavoro%20e%20lavorare%20da%20un%20qualsiasi%20computer%20senza%20problemi%3F%0D%0A%0D%0AIn%20questo%20caso%20ci%20viene%20in%20aiuto%20lo%20XAMPP%2C%20uno%20dei%20pi%C3%B9%20famosi%20%20web%20server%20che%20comprende%2C%20tra%20i%20tanti%20componenti%2C%20un%20server%20web%20Apache%2C%20un%20server%20database%20MySql%20e%20supporta%20alcuni%20dei%20pi%C3%B9%20diffusi%20linguaggi%20di%20programmazione%20come%20PHP%20e%20PERL.%0D%0A%0D%0ACon%20questa%20breve%20guida%2C%20%C3%A8%20possibile%20installare%20quanti%20web%20server%20si%20vuole%20per%20lavorare%20in%20piena%20mobilit%C3%A0%2C%20semplicemente%20scaricando%20il%20pacchetto%20ZIP%20e%20impostando%20le%20porte%20in%20modo%20che%20non%20creino%20conflitto%20con%20eventuali%20altre%20installazioni%20su%20altri%20supporti%20o%20computer.%20Noi%20ci%20occuperemo%20ci%20occuperemo%20di%20installare%20Apache%20e%20MySql." title="del.icio.us"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F" title="Technorati"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>	<li><a style="float:left;margin:5px;" rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&amp;title=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20&amp;annotation=Installando%20e%20lavorando%20con%20un%20web%20server%2C%20la%20prima%20cosa%20che%20ci%20viene%20in%20mente%20%C3%A8%3A%20posso%20portare%20con%20me%20il%20lavoro%20e%20lavorare%20da%20un%20qualsiasi%20computer%20senza%20problemi%3F%0D%0A%0D%0AIn%20questo%20caso%20ci%20viene%20in%20aiuto%20lo%20XAMPP%2C%20uno%20dei%20pi%C3%B9%20famosi%20%20web%20server%20che%20comprende%2C%20tra%20i%20tanti%20componenti%2C%20un%20server%20web%20Apache%2C%20un%20server%20database%20MySql%20e%20supporta%20alcuni%20dei%20pi%C3%B9%20diffusi%20linguaggi%20di%20programmazione%20come%20PHP%20e%20PERL.%0D%0A%0D%0ACon%20questa%20breve%20guida%2C%20%C3%A8%20possibile%20installare%20quanti%20web%20server%20si%20vuole%20per%20lavorare%20in%20piena%20mobilit%C3%A0%2C%20semplicemente%20scaricando%20il%20pacchetto%20ZIP%20e%20impostando%20le%20porte%20in%20modo%20che%20non%20creino%20conflitto%20con%20eventuali%20altre%20installazioni%20su%20altri%20supporti%20o%20computer.%20Noi%20ci%20occuperemo%20ci%20occuperemo%20di%20installare%20Apache%20e%20MySql." title="Google Bookmarks"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>	<li><a  style="float:left;margin:5px;" rel="nofollow" target="_blank" href="https://favorites.live.com/quickadd.aspx?marklet=1&#038;url=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&#038;title=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20" title="Live"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>	<li class="sociablelast"><a style="float:left;margin:5px;" rel="nofollow"  target="_blank" href="http://bookmarks.yahoo.com/toolbar/savebm?u=http%3A%2F%2Fwww.giovdi.it%2Fpost%2F18%2Funo-o-piu-web-server-su-drive-usb-con-xampp-si-puo%2F&amp;t=Uno%20o%20pi%C3%B9%20web%20server%20su%20drive%20USB%2C%20con%20XAMPP%20si%20pu%C3%B2%20%20&opener=bm&amp;ei=UTF-8&amp;d=Installando%20e%20lavorando%20con%20un%20web%20server%2C%20la%20prima%20cosa%20che%20ci%20viene%20in%20mente%20%C3%A8%3A%20posso%20portare%20con%20me%20il%20lavoro%20e%20lavorare%20da%20un%20qualsiasi%20computer%20senza%20problemi%3F%0D%0A%0D%0AIn%20questo%20caso%20ci%20viene%20in%20aiuto%20lo%20XAMPP%2C%20uno%20dei%20pi%C3%B9%20famosi%20%20web%20server%20che%20comprende%2C%20tra%20i%20tanti%20componenti%2C%20un%20server%20web%20Apache%2C%20un%20server%20database%20MySql%20e%20supporta%20alcuni%20dei%20pi%C3%B9%20diffusi%20linguaggi%20di%20programmazione%20come%20PHP%20e%20PERL.%0D%0A%0D%0ACon%20questa%20breve%20guida%2C%20%C3%A8%20possibile%20installare%20quanti%20web%20server%20si%20vuole%20per%20lavorare%20in%20piena%20mobilit%C3%A0%2C%20semplicemente%20scaricando%20il%20pacchetto%20ZIP%20e%20impostando%20le%20porte%20in%20modo%20che%20non%20creino%20conflitto%20con%20eventuali%20altre%20installazioni%20su%20altri%20supporti%20o%20computer.%20Noi%20ci%20occuperemo%20ci%20occuperemo%20di%20installare%20Apache%20e%20MySql." title="Yahoo! Bookmarks"><img src="http://www.giovdi.it/wp-content/plugins/sociable/images/yahoomyweb.png" title="Yahoo! Bookmarks" alt="Yahoo! Bookmarks" class="sociable-hovers" /></a></li></ul>
</div>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.giovdi.it/post/18/uno-o-piu-web-server-su-drive-usb-con-xampp-si-puo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
