2013-03-26 15 views
7

Mi piacerebbe che quando l'utente va a http://mysite.com/home che lo reindirizza a http://mysite.com/page.php?id=home. Questo è quello che ho inserito nel mio .htaccess, ma non sembra funzionare.La riscrittura dell'URL non sembra funzionare. Apache2

RewriteEngine On 
RewriteRule ^/(.+)$ page.php?id=$1 [NC,L] 

Mi invia semplicemente alla directory/home, con un bel 404. L'aiuto è apprezzato. Grazie.

Edit:

ho provato un po 'di riscrittura So lavoro, così ora sono certa che non è che il mio problema. Ho controllato con phpinfo() e sì, la riscrittura è in esecuzione, ho impostato apache2 con LAMP, sto utilizzando l'ultima versione di Linux Mint.

+2

mod_rewrite è abilitato? – m79lkm

+0

Lo è, post aggiornato. –

risposta

21

Ok bene ho risolto il problema, questo è come ho fatto.

sudo gedit /etc/apache2/sites-available/default

e poi ho modificato AllowOverride None al AllowOverride all nella /var/www/ parte del file

<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride all #This was 'None' before, change it to 'all' 
    Order allow,deny 
    allow from all 
</Directory> 
+0

Grazie! @zeokila – frops

+0

@frops Mi ha aiutato! –

+0

Non dimenticare di riavviare Apache dopo questo! –

3

questo ha funzionato per me, dopo la rimozione della barra:

RewriteEngine On 
RewriteBase /test 
RewriteRule ^(.+)$ page.php?id=$1 [NC,L] 
+0

Questo non funziona ancora per me:/ –

+0

è page.php nella root del documento? se non si è nella directory radice del documento, sarà necessario aggiungere anche un'istruzione RewriteBase – m79lkm

+0

modificata la mia risposta che mostra il mio file .htaccess. Spero che questo ti aiuti! – m79lkm

Problemi correlati