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 cartella con i seguenti files:
il contenuto di .htaccess è il seguente:codice:/var/www/test# tree . . `-- Test.php `-- .htaccess
se però richiedo una pagina come Test/prova invece che caricarmi Test.php?request=prova mi carica Test.php e basta.codice:RewriteEngine on RewriteRule Test/([^/]+) Test.php?request=$1 [L]
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
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.codice:RewriteEngine on RewriteRule Test/([^/]+) TestA.php?request=$1 [L]
Avete ancora visto questo problema?
Avete idea di come risolverlo o di come disabilitare questa "feature" ?
Grazie

Rispondi quotando