Jak włączyć mod_rewrite w Apache?

157

Właśnie zainstalowałem stos LAMP w moim systemie Ubuntu.

Przekierowanie nie działa dla mnie. Nie wiem, jak to naprawić. Czy ktoś może mi pomóc?

    
zadawane vinoth 12.06.2011, 15:45
źródło

2 odpowiedzi

231

Aby włączyć moduł przeprogramowania, uruchom "przeprogramuj moduł apache2":

sudo a2enmod rewrite

Musisz ponownie uruchomić serwer WWW, aby zastosować zmiany:

sudo service apache2 restart

Jeśli planujesz używać mod_rewrite w plikach .htaccess , musisz również włączyć użycie plików .htaccess , zmieniając AllowOverride None na AllowOverride FileInfo . W przypadku domyślnej witryny edytuj /etc/apache2/sites-available/default :

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

Po takiej zmianie musisz ponownie uruchomić Apache.

odpowiedział Lekensteyn 12.06.2011, 15:49
źródło
49

Odważę się dodać specjalną odpowiedź (jako uzupełnienie świetnej odpowiedzi powyżej) dotyczącą ubuntu 14.04 i .htaccess :

W 14.04 nazwa domyślnego pliku konfiguracyjnego została zmieniona na 000-default.conf :

sudo gedit /etc/apache2/sites-available/000-default.conf

dodaj na końcu pliku:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

Z jakiegoś powodu w Ubuntu 14.04 i apache2 root jest ustawiony na /www/html . Jeśli chcesz zmienić serwer główny serwera wstecz na starą wersję /www , open 000-default.conf i zmień

DocumentRoot /var/www/html/

do

DocumentRoot /var/www/

, a potem poza kursem powinno być

<Directory "/var/www">
    AllowOverride All
</Directory>
    
odpowiedział davidkonrad 17.10.2014, 15:00
źródło

Przeczytaj inne pytania na temat tagów