|
zend request & rewrite url |
|
|
|

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.htmldiventa - BECAME http://www.url.it/news/open/253~obama_and_iran.html |
|