Ho appena spostato una delle nostre applicazioni principali da Windows + IIS + Coldfusion a Ubuntu + Apache + Lucee. Il primo grosso problema è la codifica dell'URI per alfabeti esotici.Problema di codifica URI Lucee (cirillico)
Per esempio, cercando di raggiungere questo URL http://www.example.com/ru/Солнцезащитные-очки/saint-laurent/
risultati in questo disco nel access.log di Apache:
http://www.example.com/ru/%D0%A1%D0%BE%D0%BB%D0%BD%D1%86%D0%B5%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5-%D0%BE%D1%87%D0%BA%D0%B8/saint-laurent/
Beh, credo che sia corretta codifica URL. Quindi uso una regola di riscrittura nel file .htaccess per ottenere quella porzione dell'URL (quella cirillica) in un parametro di stringa di query url (diciamo "foo").
Utilizzando cflog a discarica, vedo nel registro dell'applicazione:
/index.cfm?foo=оÑки-длÑ-зÑениÑ&
... che è ovviamente sbagliato, perché quello che mi serve è la stringa originale, in UTF-8 cirillico.
ho cercato di mettere parametro URIEncoding nel mio server.xml Tomcat http connettore, senza risultati:
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
Come posso ottenere il mio parametro URL in UTF-8?
La prima cosa che proverei sarebbe isolare Tomcat e testarlo direttamente. provate http: // hostname: 8888/index.cfm? foo = Солнцезащитные-очки. Se funziona correttamente, il problema è sul lato Apache/mod_rewrite. Questo potrebbe aiutare a focalizzare la domanda. Se si verifica ancora un problema, è possibile anche esaminare i registri di accesso di tomcat per un ulteriore isolamento (potrebbe trattarsi di un problema di lucee piuttosto che di un tomcat). –
Ho provato e funziona se richiama direttamente lucee passando il parametro cirillico come hai scritto. Quindi ... è un problema di mod_rewrite di apache? Perché cambia la mia codifica?!? –
Che non posso dirvi (non la mia area di conoscenza). Ma potresti riformulare la domanda come una riscrittura di Apache/Mod e fornire alcuni dettagli in modo che alcuni esperti in quell'area possano aiutarti (anche se sembra che non dovresti usare questi URL affatto). –