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?

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.


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>

To też działało dla mnie!
Niladri Sarkar
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.