2013-03-26 12 views
7

Chciałbym, aby kiedy użytkownik podszedł do http://mysite.com/home przekierował go na numer http://mysite.com/page.php?id=home. To jest to, co umieściłem w .htaccess, ale to nie działa.Przepisywanie adresów URL nie działa. Apache2

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

Po prostu przesyła mnie do katalogu/home z miłym 404. Pomoc jest doceniana. Dzięki.

Edit:

Próbowałem trochę przerobić wiem pracę, więc teraz jestem pewien, że nie jest to mój problem. Sprawdziłem z phpinfo() i tak, mod rewrite jest uruchomiony, skonfigurowałem apache2 z LAMPEM, używam najnowszej wersji Linux Mint.

+2

jest włączony mod_rewrite? – m79lkm

+0

Jest to zaktualizowany post. –

Odpowiedz

21

Ok dobrze Naprawiłem problem, to jak ja to zrobiłem.

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

a potem zmodyfikowany AllowOverride None do AllowOverride all w /var/www/ części pliku

<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

Dziękujemy! @zeokila – frops

+0

@frops Cieszę się, że pomogło! –

+0

Nie zapomnij ponownie uruchomić Apache po tym! –

3

ten pracował dla mnie po usunięciu ukośnik:

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

To nadal nie działa dla mnie:/ –

+0

to page.php w katalogu głównym twojego dokumentu? jeśli nie znajdujesz się w katalogu głównym dokumentu, musisz również dodać instrukcję RewriteBase – m79lkm

+0

edytowaną moją odpowiedź pokazującą mój plik .htaccess. Mam nadzieję że to pomoże! – m79lkm