C O N O S C E N Z A
web data management
Il nostro è un team che si occupa ormai da piu' di un decennio della risoluzione delle problematiche informatiche, in particolare ci piace poter offrire la nostra competenza in ambito telematico, dalla progettazione su misura della vostra infrastruttura web, alla realizzazione del vostro software e dei vostri portali.
Zend Framework

zend request & rewrite url

01/05/2009


Dovendo passare molteplici variabili rischiamo di avere url molto lunghi, visti dai robot tipo google come ramificazioni di secondaria importanza della nostra root principale e per questo probabilmente penalizzate nell'indicizzazione rispetto a url di altri sito con contenuti simili e url più brevi.

Per ovviare a questo 'inconveniente possiamo riscrivere l'url con semplici regole del rewrite nell'.htaccess.

If we have to pass same vars to our actions, we'll have probabily a longer url than robot like google aspects to see to give us the same relevance of another site's page with similar contents but a smaller url.

To resolve this problem we can use .htaccess to rewrite the url with simple rules.

 

 

    http://www.url.it/controller/action/var/ID/speaking.html

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteRule ^controller/action/([0-9]+)\~(.*).html$ controller/action/?var=$1

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^.*$ - [NC,L]

RewriteRule ^.*$ index.php [NC,L]





</IfModule>

 

Così come sopra prima di riscrivere tutto 'url da passare all'index,  diciamo di riscrivere  la variabile numerica (id) var , in modo da non passarla proprio nell'url e di legare  quello che ne segue, diviso dal carattere speciale ~, all'url parlante.html che assegniamo precedentemente da controller

 

The above .httacces at the begin, before rewrite everything at index.php, modify url so  we don't need to pass that numeric 'id' var name anymore and more, we join the follow speaking url.html tha we have before assigned in relative controller separed by ~ special char.

 URL REWRITE:

http://www.url.it/controller/action/ID~speaking.html

http://www.url.it/news/open/id_news/253/obama_and_iran.html

diventa - BECAME 

http://www.url.it/news/open/253~obama_and_iran.html