.htaccess URL Rewrite Scheitern - Die angeforderte URL wurde nicht auf diesem server

Habe ich eine sehr einfache rewrite-Regel. Meine gesamte .htaccess-Datei ist wie folgt:

RewriteEngine On
ReWriteRule ^([a-zA-Z0-9\-]+)$ /index.php?page=$1 [L,NC]

Diese funktioniert perfekt auf meinem Entwicklungsrechner läuft Apache. Es funktioniert nicht, aber auf meinem Entwicklungs-Rechner mit Apache (mod_rewrite aufgelistet in der PHP-info unter apache2handler). Noch funktioniert es auf dem live-server, wobei ich denke, dass Windows ausgeführt wird.

Habe ich versucht, indem die folgenden:

RewriteBase / 

Ich bin kein mod_rewrite-Assistenten und ich bin sicher, es ist eine sehr einfache Lösung, aber es entzieht sich mir momentan und immer wieder erhalten Sie eine 404 nicht gefunden Fehler.

Eine Sache, die sich auf die beiden Umgebungen, in denen dies nicht funktioniert, ist, dass die Website ist nicht in der Wurzel der URL. So ist es zum Beispiel http://localhost/site und www.example.com/site

Habe ich versucht verschiedene syntax-Anpassungen in der .htaccess-Datei, und auch das hinzufügen der site auf der Basis:

RewriteBase /site 
  • Versuchen Sie nur, dass die Regel ^.*$ für das Debuggen
  • Das scheint nicht zu keinen Unterschied machen. Ich habe auch versucht, schriftlich der Regel explizit. Zum Beispiel ReWriteRule ^home /index.php?page=home [L,NC]
  • Auch, welche URL geben Sie in den web-browser? Sie würden den Typ www.example.com/site/foo für diese Arbeit vielleicht. Sie können gehen Sie in Ihr Apache-logs und suchen error_log zu sehen, welche Seite genau ist 404 ' Ing.
  • Ja. Zum Beispiel ich gehen würde, um http://localhost/site Die home-Seite lädt korrekt. Wenn ich zu gehen, um http://localhost/site/home zum Beispiel, es funktioniert nicht. Doch dies funktioniert auf mindestens eine Maschine also, die links müssen richtig eingerichtet werden.
  • In der Apache-ERROR-LOGS bekomme ich diese: [Fri Mar 08 20:58:35 2013] [error] [client 127.0.0.1] File does not exist: C:/localhost/site/home [Fri Mar 08 20:58:35 2013] [error] [client 127.0.0.1] File does not exist: C:/localhost/favicon.ico
  • Oh, bedeutet das, dass Apache nicht einmal Lesen Ihre .htaccess-Datei für diese Anforderung. Entweder im falschen Verzeichnis oder mod_rewrite ist nicht wirklich aktiviert.

InformationsquelleAutor user1100149 | 2013-03-07
Schreibe einen Kommentar