mod_rewrite non funzionante dopo upgrade apache

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
nik600
Linux 2.x
Linux 2.x
Messaggi: 450
Iscritto il: lun 15 mar 2004, 0:00
Contatta:

mod_rewrite non funzionante dopo upgrade apache

Messaggio 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

nik600
Linux 2.x
Linux 2.x
Messaggi: 450
Iscritto il: lun 15 mar 2004, 0:00
Contatta:

Re: mod_rewrite non funzionante dopo upgrade apache

Messaggio da nik600 »

ho trovato, era da disabilitare la direttiva MultiViews nella definizione del virtual host

Rispondi