Ciao, sto provando a scrivere alcune regole di rewrite su htaccess e mi scontro con uno strano comportamente, mi mostro cosa sia e suppongo sia qualche impostazioni di apache in locale.
Url base test.localhost
io ho creato un vhost informagiovani.test.localhost come server alias del primo
poi in apache nella mia root ho creato una cartella "informagiovani"
c:\root\informagiovani
se provo questo su http://htaccess.madewithlove.be funziona correttamente
la risposta x http://informagiovani.test.localhost/a/b/index.html ècodice:RewriteEngine on RewriteCond %{HTTP_HOST} ^informagiovani [NC] RewriteRule (.*) informagiovani/index.php?a=$1&b=$2 [L]
http://informagiovani.test.localhost/informagiovani/index.php?a=a/b/index.html&b=
quindi corretta, cioè assegna a $1 la parte del path dopo l'host inziale "a/b/index.html"
se poi io mi sposto nel mio apache in locale e stampo le request tramite il php (altrimenti non triuscivo a capire come vedere il risultato) ecco cosa mi dice:
Array
(
[a] => informagiovani/index.php
[b] =>
)
per fare il test in locale ho dovuto (perchè altrimenti era sempre internal server error!!) fare questo htaccess
come potete notare la variabile "a" a cui assegno $1 è valorizzata con "informagiovani/index.php" invece di a/b/index.htmlcodice:RewriteCond %{HTTP_HOST} ^informagiovani [NC] #RewriteRule ^.*$ default.php [L] RewriteRule (.*) informagiovani/index.php?a=$1&b=$2 [L]
deduco che in locale abbia qualche configurazione non corretta per questo problema,ma brancolo nel buio.
ho anche messo il livello di debug di apache in "debug" ma non trovo nulla che mi faccia capire. Avete qualche idea??????