Newsgroup: it.lavoro.professioni.webmaster
Titolo: RewriteRule dopo Redirect, risultato bizzarro

sto lavorando su un sitarello "statico", in cui uso php solo perché è
più facile fare inclusioni e altre parametrizzazioni di basso
cabotaggio.
funziona col solito sistema:
index?p=toscana
poi a seconda di p includo un file o un altro nel template (in questo
caso ovviamente qualcosa che ha a che fare con la toscana).  adesso si
è pensato di farlo multilingue, no problem:
index?p=toscana&lang=ita
anche qui funziona benissimo.  senonché, ho pensato, perché non usare
url "puliti" tramite mod_rewrite e una RewriteRule?  ho avuto qualche
problema ma alla fine queste cose qui in .htaccess fanno quel che
devono fare partendo da url tipo 
http://example.com/ita/toscana
,
http://example.com/eng/tuscany
 ecc.:
Options Followsymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^([^/\.]+)/?([^/\.]+)/?$ /index.php?p=$2&lang=$1 [L]
senonché è probabile che qualcuno possa voler digitare direttamente
http://example.com/toscana
 (senza /ita in mezzo).  la prima soluzione
sarebbe quella di invertire i parametri, ma davvero non vorrei
presentare url tipo 
http://example.com/toscana/ita
 o 
http://example.com/tuscany/eng
.
si potrebbe anche dire che nel caso di toscana e tuscany l'indicazione
della lingua sia pleonastica, ma in altri casi tipo umbria non lo è.
ho provato quindi a far precedere la roba di cui sopra da appositi
redirect:
Redirect /toscana /ita/toscana
Redirect /tuscany /eng/tuscany
ottenendo però questo bizzarro risultato:
http://example.com/toscana
diventa
http://example.com/ita/toscana?p=a&lang=toscan
http://example.com/tuscany
diventa
http://example.com/eng/tuscany?p=y&lang=tuscan
consigli, spiegazioni?
grazie.

 diventa 
http://example.com/ita/toscana?p=a
〈=toscan
diciamo che la riga in questione è:
http://example.com/ita/toscana?p=a&lang=toscan

 
http://example.com/ita/toscana?p=a&lang=toscan
Secondo me � dovuto al fatto che il separatore � opzionale e i due 
riferimenti hanno il +, quindi almeno un carattere, nel caso di 
"toscana" questo viene interpretato come "toscan" e "a" con il 
separatore opzionale che non c'�, dovresti accorpare /? e ([^/¥.]+) in e 
renderlo tutto opzionale con * in modo che il secondo argomento viene 
trattato tale solo se c'� effettivamente il simbolo di slash come 
separatore.

 ha scritto 
nel messaggio 
news:anddam-groupsNOALPASTICCIOD...@news.cu.mi.it...

Temo che il problema non sia solo li, ma anche nel set di caratteri che hai 
impostato. Giusto per fare un esempio: le tue "e accentate" appaiono come 
dei "quadratini" in lettura, oppure dei "rombi a sfondo nero con un punto 
interrogativo in bianco dentro.
Assicurati di sistemare questo problema intanto e poi controlla tutto il 
resto.
-- 
Impastato Marcello
www.blueware.it
 

 resto.
Riprovo:
Secondo me è dovuto al fatto che il separatore è opzionale e i due 
riferimenti hanno il +, quindi almeno un carattere, nel caso di 
"toscana" questo viene interpretato come "toscan" e "a" con il 
separatore opzionale che non c'è, dovresti accorpare /? e ([^/\.]+) e 
rendere il tutto opzionale con * in modo che il secondo argomento venga
trattato come tale solo se c'è effettivamente il simbolo di slash come 
separatore.

 interrogativo in bianco dentro.
questo purtroppo credo che dipenda dai news server che si rimbalzano i
messaggi.  ogni tanto capita anche a me di leggere messaggi senza
vocali accentate.
inoltre in questo thread vedo delle trasformazioni stranissime di
asterischi e quant'altro, che diventano simboli dello yen e altre
cose.  purtroppo pare non sia possibile avere una stringa rewrite
scritta bene su un ng.