2013-07-19 26 views
15

Używam Linuksa Ubuntu 12.04 LTS na moim komputerze. Zainstalowałem już LAMPĘ. Teraz chcę włączyć moduł mod_rewrite. Zrobiłem dużo google i wypróbowałem wiele sztuczek, ale nie mogłem włączyć mod_rewrite. Czy ktoś może mi pomóc włączyć mod_rewrite? Z góry dziękuję.Jak włączyć mod_rewrite w LAMPIE na ubuntu?

Odpowiedz

66

Wersja TL; DR - wykonaj następujące czynności w terminalu:

sudo a2enmod rewrite && sudo service apache2 restart 

Z objaśnieniami - wykonaj poniższe czynności terminal:

ls -l /etc/apache2/mods-available/rewrite.load ///if it prints out rewrite.load, it's there and ready to go 

sudo a2enmod rewrite //enables the mod 

ls -l /etc/apache2/mods-enabled/rewrite.load // shows created symlink 

sudo vi /etc/apache2/sites-available/default //opens the file in vi (you can also use vim or nano) 

Wymień wystąpienia "AllowOverride None", "AllowOverride wszystkich" jako niezbędny

sudo service apache2 restart ///restarts apache 

Edytuj wpis wirtualnego hosta w pliku/etc/apache2/sites-available i dodać AllowOverride All do DocumentRoot. Twój wirtualny host powinien ostatecznie wyglądać mniej więcej tak:

<VirtualHost *:80> 
    ServerName example.com 
    DocumentRoot /var/www/vhosts/example.com 
    <Directory /var/www/vhosts/example.com> 
    AllowOverride all 
    </Directory> 
</VirtualHost> 

Chociaż nie nadaje się do środowisk produkcyjnych, działa dobrze dla lokalnego rozwoju.

+0

: Bardzo dziękuję, sid w tak łatwym języku z opisem każdego kroku. Przyjąłem i wznowiłem twoją odpowiedź. – PHPLover

+1

@mike - świetna odpowiedź, ale możesz też wspomnieć o tym, co robić w środowisku produkcyjnym lub podać kilka linków, aby wyszukać takie przypadki. –

+0

@StacyJ to byłby nieco nie na temat dla tego pytania. Dokładnie przeczytaj komentarze /etc/apache2/apache2.conf lub httpd.conf. Sprawdź http://httpd.apache.org/docs/current/misc/security_tips.html i https://help.ubuntu.com/12.04/serverguide/httpd.html, aby uzyskać więcej informacji. – mikedugan

5

Nie wspominając co nakazuje nie spróbować, więc zacznę z jednego podstawowego:

sudo a2enmod rewrite 

Można również sprawdzić, czy mod rewrite jest już włączyć za pomocą:

apache2ctl -M