Jak włączyć mod_rewrite dla wirtualnego hosta

8

Reguła mod_rewrite nie działa na hoście wirtualnym. Chciałem tego dla cakefpa.

Czy istnieje ustawienie dodawania w pliku wirtualnego hosta?

user12gk21hkj
źródło

Odpowiedzi:

21

Jeśli używasz najnowszej wersji Apache 2.4+, oto proces jak włączyć mod_rewrite.

Otwórz etc/apache2/
Otwórz apache2.confza pomocą swojego ulubionego edytora tekstu.
Zmiana

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

do

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Następnie zapisz to. Pamiętaj, że powinieneś mieć uprawnienia administratora do edycji i zapisywania tego pliku.
Teraz uruchom ponownie apache.

service apache2 reload

Ten proces włączy mod_rewrite dla serwera Apache, w tym wirtualnego hosta.

Możesz także sprawdzić, czy jest włączony, czy nie. Utwórz skrypt php

<?php    
phpinfo();    
?>

Załaduj go z serwera. W Loaded Modulessekcji sprawdź, czy mod_rewritejest, czy nie. Jeśli tam jest, to jest włączony.

Nabil
źródło
Zanim skorzystałem z tej opcji, wszystkie moje przeróbki kończyły się na 404, jednak po aktualizacji apache2.confi ponownym uruchomieniu apache404 zniknęły, ale wszystkie strony wylądowały z powrotem na stronie głównej! phpinfo()nie miał też mod_rewritewłączonego modułu. Następnie uruchomienie polecenia CLI (jak sugeruje Lonston poniżej) wszystko poszło na złocie! Dlaczego to rozwiązanie nie mod-rewritewłączyło dla mnie modułu, ale podejście CLI? Czy jest to kombinacja modyfikowania .confi uruchamiania polecenia CLI jeden po drugim, aby włączyć moduł, czy jedno z nich jest w rzeczywistości wystarczające?
Niladri Sarkar
6

Włącz przepisz za pomocą

# sudo a2enmod rewrite

Następnie uruchom ponownie apcahe2 za pomocą

# service apache2 restart

Włącz w Virtualhost, dodając

AllowOverride FileInfo

Następnie uruchom ponownie apcahe2 za pomocą

# service apache2 restart

przykład :

<Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # I Have below line from none to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>
Babin Lonston
źródło
To też działało dla mnie!
Niladri Sarkar