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?
quelle
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?
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.
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?Aktivieren Sie das Umschreiben mit
Starten Sie dann apcahe2 mit neu
Aktivieren Sie in Virtualhost durch Hinzufügen
Starten Sie dann apcahe2 mit neu
Beispiel :
quelle