mod_rewrite

ciao,

ho problemi a far funzionare il modulo mod_rewrite in locale.

ho win xp

apache 1.3.34

php 4.3.4

nel file httpd_conf ho abilitato:

AllowOverride All

LoadModule rewrite_module modules/mod_rewrite.so

AddModule mod_rewrite.c

nel file .htaccess:

RewriteEngine On

RewriteRule ^test/([^/]+).html test.php?id=$1 [L]

ho creato una cartella prova e inserito il file .htaccess e poi ho creato un file test.php

nel file test.php:

<?php

echo "ciao".$_GET[id];

?>

provo ad eseguire

http://localhost/prova/test.php?id=mondo

e mi restituisce correttamente "ciaomondo"

se adesso provo a eseguire:

http://localhost/prova/test/mondo.html

mi restituisce solo "ciao"

mi sapreste dire perchè??? :buck:

grazie

inviato 9 anni fa
iTek
iTek
1
X 0 X

dov'è l'htaccess? nella cartella /prova o in / ?

sbaglio o dopo .html ci andrebbe il $ di fine stringa?

hai provato a guardare i logs di apache?

 :bye:

risposto 9 anni fa
Xscratch
X 0 X

il file htaccess è nella cartella prova....

come faccio a guardare i logs di apache? ???

risposto 9 anni fa
iTek
iTek
1
X 0 X

Normalmente (dipende dalla tua configurazione di apache) all'interno della directory di installazione di Apache, cerca i files access.log e error.log

risposto 9 anni fa
Xscratch
X 0 X

Un buon metodo in questo caso è procedere a blocchi. Hai provato prima a fare il match prima di tutto l'indirizzo e poi man mano aggiungere specificità?

Comunque sia mod_rewrite funziona (carica test.php). Prova a fare l'escape del punto con un backslash: \.

risposto 9 anni fa
GaretJax
X 0 X
Un buon metodo in questo caso è procedere a blocchi.

ho capito io, ma in test.php...più base e semplice di così!

Comunque sia mod_rewrite funziona (carica test.php). Prova a fare l'escape del punto con un backslash: \.

non ho capito dove devo fare l'escape

risposto 9 anni fa
iTek
iTek
1
X 0 X

nelle regexp il punto indica qualunque carattere. Quindi per fare il match del punto stesso devi scrivere \. in modo che la tua regexp diventi:

^test/([^/]+)\.html$
risposto 9 anni fa
GaretJax
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda