Pagina 1 di 1

mod_rewrite non funzionante dopo upgrade apache

Inviato: lun 6 giu 2011, 15:33
da nik600
Ciao a tutti

dopo aver fatto un'aggiornamneto da debian 5 a debian 6 mi sono ritrovato con una regola di mod_rewrite che non funziona più.

in pratica, sembra che quando nel target di una rule si trova il nome di un file php senza estensione, il mod_rewrite carica direttamente quel file senza passargli nessun parametro.

Esempio:

ho una directory con i seguenti files:

Codice: Seleziona tutto

/var/www/test# tree .
.
`-- Test.php
`-- .htaccess


il contenuto di .htaccess è il seguente:

Codice: Seleziona tutto

RewriteEngine on
RewriteRule Test/([^/]+)		Test.php?request=$1	[L]


se però richiedo una pagina come Test/prova invece che caricarmi Test.php?request=prova mi carica Test.php e basta.

Questo comportamento lo ho verificato su due installazioni differenti con la debian6, dove gira apache 2.2.16,
se rinomino il file Test.php in TestA.php e cambio la regola in

Codice: Seleziona tutto

RewriteEngine on
RewriteRule Test/([^/]+)		TestA.php?request=$1	[L]


tutto funziona correttamente, sembra quindi che quando la parte iniziale di una regola coincide con il nome del file senza estensione il mod_rewrite carica direttamente quel file, ingorando le regole presenti.

Avete ancora visto questo problema?
Avete idea di come risolverlo o di come disabilitare questa "feature" ?

Grazie

Re: mod_rewrite non funzionante dopo upgrade apache

Inviato: lun 6 giu 2011, 17:24
da nik600
ho trovato, era da disabilitare la direttiva MultiViews nella definizione del virtual host