PDA

View Full Version : Apache + Tomcat sessioni


texerasmo
10-04-2006, 09:58
Ciao a tutti ho il seguente pb

Ho Apache che mi fa dei rewrite ora mi siccude che quando viene applicato una regola del rewrite mi perdo i valori settati in sessione dalle mie pagine jsp

esempio setto in mino.jsp

session.setAttribute("chiave","Valore");

ora ho una regola che mi ridirige in index.jsp
valore = session.getAttribute("chiave")

valore mi risulta null

Suppongo che il rewrite mi faccia perdere i valori in sessione.

avete dei suggerimenti?

kingv
10-04-2006, 10:15
che rewrite fa?
la sessione è identificata o da un cookie o dal session id passato nella query string, se nel rewriting ti perdi uno dei due tomcat non è più in grado di associare la sessione alla richiesta.

texerasmo
10-04-2006, 10:46
Questo è il mio rewrite

RewriteEngine on
RewriteRule ^/pippo/it/pdf(.*)$ /pippo/it/pdf$1 [PT,L]
RewriteRule ^/pippo/it/newsletter(.*)$ /pippo/it/newsletter$1 [PT,L]
RewriteRule ^/pippo/it/images(.*)$ /pippo/it/images$1 [PT,L]
RewriteRule ^/pippo/en/images(.*)$ /pippo/en/images$1 [PT,L]
RewriteRule ^/pippo/images(.*)$ /pippo/images$1 [PT,L]
RewriteRule ^/pippo/components(.*)$ /components$1 [PT,L]
RewriteRule ^/pippo/download(.*)$ /download$1 [PT,L]
RewriteRule ^/pippo/css(.*)$ /pippo/css$1 [PT,L]
RewriteRule ^/pippo/static(.*)$ /pippo/$1 [PT,L]
RewriteRule ^/pippo/stat-pippo/(.*)$ /pippo/$1 [PT,L]
RewriteRule ^/$ /pippo/index.jsp [PT,L]
RewriteRule ^/(.*)$ /pippo/index.jsp?chiave=/$1 [PT]

io setto dei valori in sessione in un pagina
poi che faccio il redirect alla index.jsp
facendo un location.href="/"

kingv
10-04-2006, 10:53
puo' essere che il cookie di sessione abbia settato il campo path a qualcosa diverso dalla root e che quando fai la redirect non venga ritrasmesso?

texerasmo
10-04-2006, 10:58
Per sessione intendo le jsession
ovvero session.setAttribute("chiave","Valore");
tu cosa intendi per cookie di sessione ?

Cmq quando lancio la chiamata perdo il volore nella session e non riesco a capire il perchè.

kingv
10-04-2006, 11:07
tu cosa intendi per cookie di sessione ?



te l'ho scritto due post sopra, la sessione è identificata lato client o da un cookie (quasi sempre) o nel caso i cookie siano disabilitati da un parametro che viene riscritto in query string.
probabilmente durante la rewrite si perde il cookie, cerca di capire perchè ;)