Immagine
 Best search engines... di Admin
\\ Home Page : Storico per mese (inverti l'ordine)
Di seguito tutti gli interventi pubblicati sul sito, in ordine cronologico.
 
 
Di Manuel  (del 25/02/2010 @ 11:17:11, in Web Development, linkato 311 volte)

In questi ultimi mesi sto affrontando la realizzazione di piccoli siti dinamici, completi di pannello di amministrazione.
Il linguaggio è PHP, il database è MySQL, il server è Linux e il webserver è... Apache! Ebbene sì, si tratta del classico ambiente LAMP.
La novità è che, per affrontare i progetti, non scrivo "codice selvaggio", ma mi appoggio ad un framework open source chiamato CodeIgniter.

Il framework è versatile, comodo e accompagnato da una nutrita schiera di estimatori e programmatori.
Purtroppo, come spesso accade nel mondo delle apllicazioni web, essendo il framework una "creatura" inglese, non ha affrontato nativamente il problema dei caratteri speciali: à, è, é, ì, ò, ù (per noi italiani, ad es.).
Questo problema mi è diventato palese nel momento in cui ho cercato di trasmettere stringhe di ricerca con simili caratteri all'URI segmentato tipico di CodeIgniter (quando non si desidera utilizzare la classica querystring: pippo.php?c=prendi&m=fai&v=questo).

Il framework, infatti, per motivi di sicurezza (indiscutibili), ammette nei suoi URI questa serie di caratteri:
a-z 0-9~%.:_\-
Nel momento in cui un italiano scrive in un modulo di ricerca "gravità" appare a video un pagina bianca che riporta il seguente errore:

The URI you submitted has disallowed characters.

Per risolvere la questione ho dovuto perdere un paio di giorni di ricerche su Google e alla fine ho trovato questo salvifico articolo:

CodeIgniter 1.7: The URI you submitted has disallowed characters.

Se avete lo stesso problema, andate in system/libraries e aprite il file URI.php alla linea 189 e modificate:

if ( ! preg_match("|^[".str_replace(array('\\-', '\-'), '-', preg_quote($this->config->item('permitted_uri_chars'), '-'))."]+$|i", $str))

così:

if ( ! preg_match("|^[".str_replace(array('\\-', '\-'), '-', preg_quote($this->config->item('permitted_uri_chars'), '-'))."]+$|i", rawurlencode($str)))

Questa soluzione si applica a CodeIgniter 1.7.

Articolo (p)Link Commenti Commenti (0)  Storico Storico  Stampa Stampa
 
Pagine: 1
Having the right formatting or display won't necessarily boost your rankings directly, but through it, you're more likely to earn links, get clicks and eventually benefit in search rankings.

SEOmozBlog

Sondaggio

Ti piace il nuovo blog di Grandi Sistemi ?

 Fantastico!
 Carino...
 Così e così
 Bleah!

Stuff

Listening
Zoo di 105

Reading
"Essere Visibili Sui Motori Di Ricerca" di Giorgio Taverniti

Watching
Video Convegni SEO GT !

Varie

Ci sono 2 persone collegate

09/09/2010 @ 0.57.39
script eseguito in 47 ms