PDA

View Full Version : Apache + RewriteRule


texerasmo
13-11-2006, 16:32
RewriteRule ^/mino/static(.*)$ /mino/$1 [PT,L]


questa regola mi funziona correttamente.
ora avrei il bisogno di adattarla a questo caso.

se chiamo questo link
http://www.mino.de:7777/mino/static/aip/gen/gen2/gen2-3.pdf

vedo la pg correttamente


se chiamo questo link

http://www.mino.de:7777/mino/static/aip/gen/gen2/GEN2-3.pdf

ho un errore 404 giustamente perchè ho il file che si chiama in questo modo.
gen2-3.pdf

Ora mi hanno detto che con IIS questa cosa funziona.

come potrei cambiare la mia regola?

texerasmo
13-11-2006, 17:43
ho aggiunto questo
RewriteRule ^/mino/static(.*)$ /mino/$1 [PT,NC,L]


ma mi da questo errore

Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /fra/fra.html.

kingv
13-11-2006, 20:22
con IIS funziona perchè è il sistema operativo sottostante che non fa differenza tra maiuscole e minuscole.
con mod_rewrite non puoi rendere la ricerca di un file corrispondente a una URL case insensitive.

texerasmo
14-11-2006, 13:29
io però sono sotto windows.
Con precisione sto usando Oracle Application Server.

ne approfitto, sto impazzendo su un altra cosa. :D

ho questo scenario

Macchina A(192.168.0.143 )
LVS
keepAlived

questo è il file di configurazione

global_defs {
notification_email {
admin@domain.com
0633225522@domain.com
}
notification_email_from erasmo.marciano@gimacom.com
smtp_server 192.168.0.101
smtp_connect_timeout 30
lvs_id LVS_MAIN

}
virtual_server 192.168.0.143 80 {
delay_loop 30
lb_algo wrr
lb_kind NAT
persistence_timeout 50
protocol TCP
virtualhost www.balance.dev
sorry_server 192.168.100.100 80

real_server 192.168.0.101 80 {
weight 1
HTTP_GET {
url {
path /eyecontent/login.jsp
digest ec90a42b99ea9a2f5ecbe213ac9eba03
}

connect_timeout 3
nb_get_retry 3
delay_before_retry 2
}
}
real_server 192.168.0.149 80 {
weight 2
HTTP_GET {
url {
path /test/index.html
digest 640205b7b0fc66c1ea91c463fac6334c
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 2
}
}
}


il test che faccio è il seguente
configuro nel dns che ho in locale www.balance.dev all ip 192.168.0.143.
Ora da broswer faccio www.balance.dev dai log vedo che la chiamata viene dirottata verso 192.168.0.101 e dai log di apache confermo la chiamata ricevuta.

Il problema è che non vedo output
Credo perchè apache risponde a 192.168.0.143 e non al client.
Come posso gestire questa cosa?



un amico mi ha detto di fare così

devoconfigurare sugli host 192.168.0.101 e host 192.168.0.149
l'interfaccia di loopback con ip 192.168.0.143


allora io ho modificato questo file sul nodo 192.168.0.149
/etc/sysconfig/network-scripts/ifcfg-lo
in questo modo

DEVICE=lo
IPADDR=192.168.0.143
NETMASK= 255.0.0.0
NETWORK=192.168.0.0

BROADCAST= 127.255.255.255
ONBOOT=yes
NAME=loopback



ora che succede che la 149 raggiunge la rete LAN ma non viene vista dal nodo 192.168.0.143

tu sai dirmi qualcosa in merito?