Die mod_rewrite-Regel funktioniert auf dem virtuellen Host nicht. Ich wollte das für Cakephp.
Gibt es Einstellungen zum Hinzufügen in der virtuellen Hostdatei?
Die mod_rewrite-Regel funktioniert auf dem virtuellen Host nicht. Ich wollte das für Cakephp.
Gibt es Einstellungen zum Hinzufügen in der virtuellen Hostdatei?
Antworten:
Wenn Sie die neueste Apache-Version 2.4+ verwenden, erfahren Sie hier, wie Sie mod_rewrite aktivieren.
Gehen Sie mit Ihrem bevorzugten Texteditor zu etc/apache2/
Öffnen apache2.conf
.
Veränderung
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
zu
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Dann speichere es. Denken Sie daran, dass Sie über die Root-Berechtigung zum Bearbeiten und Speichern dieser Datei verfügen sollten.
Starten Sie nun Apache neu.
service apache2 reload
Dieser Prozess aktiviert mod_rewrite für den Apache-Server einschließlich des virtuellen Hosts.
Sie können auch überprüfen, ob es aktiviert ist oder nicht. Erstellen Sie ein PHP-Skript
<?php
phpinfo();
?>
Laden Sie es vom Server. Loaded Modules
Überprüfen Sie unter Abschnitt, ob vorhanden mod_rewrite
ist oder nicht. Wenn es da ist, ist es aktiviert.
Aktivieren Sie das Umschreiben mit
# sudo a2enmod rewrite
Starten Sie dann apcahe2 mit neu
# service apache2 restart
Aktivieren Sie in Virtualhost durch Hinzufügen
AllowOverride FileInfo
Starten Sie dann apcahe2 mit neu
# service apache2 restart
Beispiel :
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# I Have below line from none to FileInfo
AllowOverride FileInfo
Order allow,deny
allow from all
</Directory>
apache2.conf
und Neustartenapache
verschwand 404, aber alle Seiten landeten wieder auf der Homepage!phpinfo()
hatte auch keinmod_rewrite
Modul aktiviert. Wenn Sie dann CLI commnd ausführen (wie von Lonston unten vorgeschlagen), ist alles golden! Warum hat diese Lösung dasmod-rewrite
Modul nicht für mich aktiviert , sondern für die CLI? Ist dies eine Kombination aus Ändern.conf
und Ausführen des CLI-Befehls nacheinander, um das Modul zu aktivieren, oder reicht einer dieser Befehle tatsächlich aus?