Apache URL Rewriting wird nicht funktionieren
-
06-07-2019 - |
Frage
In der Datei httpd.conf Ich habe AllowOverride FileInfo
. In der .htaccess-Datei in der oberen Ebene von meinem Webserver mit allen anderen Dateien, ich habe dies:
RewriteEngine On
RewriteRule ^downloads/?$ index.php?page=downloads [L,NC]
Aber es funktioniert nicht. mywebsite / Downloads und mywebsite / downloads / geben immer 404 nicht gefunden. Jede Idee, warum? Vielen Dank. (Mywebsite / index.php? Page = Downloads hat Arbeit).
Und ich bin neu zu starten Apache jedes Mal, wenn ich es ändern.
Und wenn ich den Code oben in httpd.conf setzen, wird die Website nicht einmal überhaupt laden, nur leer, Safari Spinnrad für immer.
Die in Ordnung, wenn ich RewriteEngine On
nur, aber wenn ich etwas anderes tun (RewriteBase, RewriteRule), versucht, das Web-Browser ausgibt Alter, diesen Fehler zu laden und schließlich geben:
Safari kann die Seite nicht öffnen „ http://mk12.gotdns.com/ “ weil der Server, auf dem dieser Seite befindet sich nicht reagiert.
Wer noch keine Ahnung hat, was falsch ist?
EDIT: Ich bin in der Lage zu machen, zum Beispiel CSS-Dateien mit Rewrite verboten, und es funktioniert, aber jede Regel, die auf index.php von Downloads geht page = Download des Server (siehe oben) nicht reagieren läßt, es spielt keine Rolle, auf welcher Seite, wird die Webseite nicht geladen. Irgendwelche Ideen ..?
Lösung 4
Es Arbeitete !! Ich war den Code an der falschen Stelle setzen. Es war in httpd.conf, aber am Ende. Verschiebe es in
EDIT: Auch ich fand, dass es nicht funktioniert, wenn die Flaggen wie diese sind: [L, NC]
. Es ist zu [L,NC]
(ohne Leerzeichen).
So die beiden Probleme, bei denen, dass es nicht innerhalb wurde
Andere Tipps
Der beste Weg, um Debug-Rewrite-Regeln ist Rewrite Protokollierung zu aktivieren, damit Sie sehen, was falsch läuft.
Haben Sie müde, um einen Schrägstrich vor dem „Download“ und fügt hinzu, wie unter
RewriteRule ^/downloads/?$ index.php?page=downloads
EDIT: Versuchen Sie den Code unten:
RewriteEngine On
RewriteBase /
RewriteRule ^downloads/?$ /index.php?page=downloads
Ich würde versuchen, den Schrägstrich und Fragezeichen nach Downloads zu entfernen und dem führenden Schrägstrich vor index.php.
RewriteEngine On
RewriteBase /
RewriteRule ^downloads$ index.php?page=downloads.