<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html">CakePHP-it - Seo-friendly URLS</title>
	<link rel="self" href="/rewrite.php"/>
	<updated>2008-08-23T10:56:40Z</updated>
	<generator>PunBB</generator>
	<id>http://www.cakephp-it.org/topic6-seofriendly-urls.html</id>
		<entry>
			<title type="html">Re: Seo-friendly URLS</title>
			<link rel="alternate" href="http://www.cakephp-it.org/post325.html#p325"/>
			<content type="html">Riporto il commento che risolve il problema di compatibilità con la 1.2:
[quote=Felix Geisendörfer]Aaron: Yeah, that&#039;s because named parameters use the colon too. If you don&#039;t want this you can put:

[code]var $namedArgs = false;[/code]

In your AppController. I believe it also takes an array of actions where you can specify which ones use named args and which don&#039;t. Give it a try.[/quote]</content>
			<author>
				<name>Namaless</name>
			</author>
			<updated>2008-08-23T10:56:40Z</updated>
			<id>http://www.cakephp-it.org/post325.html#p325</id>
		</entry>
		<entry>
			<title type="html">Re: Seo-friendly URLS</title>
			<link rel="alternate" href="http://www.cakephp-it.org/post106.html#p106"/>
			<content type="html">L&#039;ho capito dopo aver postato :)
Se invece usi la 1.2 credo il problema sia quello evidenziato tra i commenti nell&#039;articolo che hai indicato.</content>
			<author>
				<name>sanchio</name>
			</author>
			<updated>2008-03-12T14:29:36Z</updated>
			<id>http://www.cakephp-it.org/post106.html#p106</id>
		</entry>
		<entry>
			<title type="html">Re: Seo-friendly URLS</title>
			<link rel="alternate" href="http://www.cakephp-it.org/post104.html#p104"/>
			<content type="html">uso page per non riutilizzare il nome del controller, semplicemente :)

non sto a spiegarti nel dettaglio ma items nel mio caso era una classe generica che si doveva occupare di più tipologie di elementi, page era più corretto in fase di visualizzazione</content>
			<author>
				<name>ToX</name>
			</author>
			<updated>2008-03-12T13:14:49Z</updated>
			<id>http://www.cakephp-it.org/post104.html#p104</id>
		</entry>
		<entry>
			<title type="html">Re: Seo-friendly URLS</title>
			<link rel="alternate" href="http://www.cakephp-it.org/post102.html#p102"/>
			<content type="html">O forse la risposta si trova proprio nel link che hai postato. Se guardi il commento 15 e se usi cake 1.2 il problema è spiegato lì. Ciao ciao</content>
			<author>
				<name>sanchio</name>
			</author>
			<updated>2008-03-12T10:00:45Z</updated>
			<id>http://www.cakephp-it.org/post102.html#p102</id>
		</entry>
		<entry>
			<title type="html">Re: Seo-friendly URLS</title>
			<link rel="alternate" href="http://www.cakephp-it.org/post101.html#p101"/>
			<content type="html">Scusa ma mi sfugge qualcosa, forse perché ancora ne capisco poco, ma perché nella redirect usi &#039;page&#039; e non &#039;items&#039;?</content>
			<author>
				<name>sanchio</name>
			</author>
			<updated>2008-03-12T09:46:21Z</updated>
			<id>http://www.cakephp-it.org/post101.html#p101</id>
		</entry>
		<entry>
			<title type="html">Re: Seo-friendly URLS</title>
			<link rel="alternate" href="http://www.cakephp-it.org/post23.html#p23"/>
			<content type="html">ah... quasi dimenticavo, questa è la fonte:

[url]http://www.thinkingphp.org/2006/09/18/dessert-11-welcome-back-friendly-urls/[/url]</content>
			<author>
				<name>ToX</name>
			</author>
			<updated>2008-02-07T17:14:12Z</updated>
			<id>http://www.cakephp-it.org/post23.html#p23</id>
		</entry>
		<entry>
			<title type="html">Seo-friendly URLS</title>
			<link rel="alternate" href="http://www.cakephp-it.org/post22.html#p22"/>
			<content type="html">una volta era già stato postato un tutorial simile... ma è andato perduto. 

Ad ogni modo, avevo bisogno di fare in modo che gli indirizzi 

http://localhost/cakephp/mkk_cms/index.php/items/view/5
diventassero qualcosa tipo
http://localhost/cakephp/mkk_cms/index.php/page/5:Lettore-FLV

il tutto è piuttosto semplice, anche se ho un errore e non capisco il motivo. Comunque, bisogna aggiungere una riga nel config/routes.php:

[code]Router::connect(&#039;/page/*&#039;, array(&#039;controller&#039; =&gt; &#039;items&#039;, &#039;action&#039; =&gt; &#039;view&#039;));[/code]

e, nel controller che si occupa di visualizzare la pagina, aggiungere una cosa tipo:

[code]@list($id, $url_suffix) = preg_split(&#039;/[:]/&#039;, $id, 2);
$lang = $this-&gt;Session-&gt;read(&#039;Config.language&#039;);
        
$titolo = $this-&gt;Item-&gt;find($conditions=&quot;Item.node_id=$id, $fields=&quot;Item.node_id, Item.Itemvalue&quot;, $order=null, $limit=null, $page=1, $recursive=&quot;-1&quot;);

$titolo[&#039;Item&#039;][&#039;Itemvalue&#039;] = str_replace(&quot; &quot;, &quot;-&quot;, $titolo[&#039;Item&#039;][&#039;Itemvalue&#039;]);
if ($url_suffix!==$titolo[&#039;Item&#039;][&#039;Itemvalue&#039;]) //seo friendly urls
{
      $this-&gt;redirect(&#039;/page/&#039;.$titolo[&#039;Item&#039;][&#039;node_id&#039;].&#039;:&#039;.$titolo[&#039;Item&#039;][&#039;Itemvalue&#039;], 301);
      exit;
}[/code]


et voilà!

l&#039;unica cosa, a me i : inchiodavano il caricamento dello script, in sostanza questo:
[quote]id = 5:Lettore-FLV[/quote]
me lo leggeva come se fosse semplicemente
[quote]id = Lettore-FLV[/quote]

lo script non riusciva a prendere il 5 e mi si bloccava tutto. mettendo la virgola funziona correttamente... boh! suggerimenti?</content>
			<author>
				<name>ToX</name>
			</author>
			<updated>2008-02-07T17:12:43Z</updated>
			<id>http://www.cakephp-it.org/post22.html#p22</id>
		</entry>
</feed>
