Um mod_rewrite
zu verwenden, können Sie den folgenden Befehl im Terminal eingeben:
sudo a2enmod rewrite
Starten Sie nach
sudo /etc/init.d/apache2 restart
oder
sudo service apache2 restart
oder entsprechend der neuen einheitlichen Systemsteuerungsmethode
sudo systemctl restart apache2
Dann können Sie bei Bedarf die folgende .htaccess
-Datei verwenden.
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Die oben genannte .htaccess
-Datei (wenn sie in Ihrem DocumentRoot
platziert wird) leitet den gesamten Datenverkehr zu einer index.php
-Datei im DocumentRoot
um, es sei denn, die Datei existiert.
Angenommen, Sie haben die folgende Verzeichnisstruktur und httpdocs ist der DocumentRoot
httpdocs/
.htaccess
index.php
images/
hello.png
js/
jquery.js
css/
style.css
includes/
app/
app.php
Jede Datei, die in httpdocs existiert, wird dem Anforderer mit der oben gezeigten .htaccess
geliefert, jedoch werden alle anderen auf httpdocs/index.php
umgeleitet. Ihre Anwendungsdateien in includes/app
sind nicht zugänglich.
1 Stimmen
Eigentlich war das Problem, dass ich den falschen Pfad hatte, weil ${DOCUMENT_ROOT} mich zum Stammverzeichnis führte, was auf dem Hosting in Ordnung war, aber auf dem lokalen Rechner falsch war, also war das Problem nicht nur RewriteEngine On, was ich bereits hatte ..
0 Stimmen
Können Sie bitte die akzeptierte Antwort auf diese hier ändern? Der Autor der aktuellen akzeptierten Antwort hat zugegeben, dass sie nicht gut genug ist.
1 Stimmen
Wie man mod_rewrite in Ubuntu 12.04 LTS aktiviert (sollte auch in Debian funktionieren). Dies zeigt Installation UND Aktivierung, was die untenstehenden Tutorials überraschenderweise nicht tun :(
3 Stimmen
Ich würde allen dringend raten, die mod_rewrite-Direktiven in .htacces-Dateien aktivieren möchten,
AllowOverride FileInfo
zu verwenden, anstatt alles zuzulassen, wie es alle Antworten auf dieser Seite vorschlagen. Traurig zu sehen, dass all diese Antworten den Ansatz verfolgen, dass es in Ordnung ist, solange es funktioniert, anstatt die Konsequenzen der vorgeschlagenen "Lösung" zu verstehen. Versuchen Sie zu verstehen, was Sie auf Ihrem Server tun und wie Sie die Berechtigungen begrenzen, die Sie gerade mitAllowOverride All
vergeben haben. RTFM!, es ist auf dem Thema recht klar.0 Stimmen
Wo hast du es auskommentiert? Wo ist die Datei?
2 Stimmen
@Black Es befindet sich in der Apache-Konfigurationsdatei namens httpd.conf. Auf meinem PC befindet sich die Datei im Verzeichnis C:\xampp\apache\conf, da ich Apache mit XAMPP installiert habe.