mod_rewrite verhält sich nicht gut

8

Ich habe ein einfaches Projekt, in dem ich versuche, einige URLs neu zu schreiben, um auf ein paar PHP-Skripte zu zeigen.

Mein aktueller Pfad auf dem Server ist / project / engine, und ich habe eine .htaccess-Datei in diesem Verzeichnis abgelegt, um meine Umschreiboperation auszuführen:

%Vor%

Es ist eine ziemlich einfache Neuschreibung. Ich versuche im Grunde, eine URL wie folgt neu zu schreiben: /project/engine/get/class zu diesem: /project/engine/get.class.php .

Kann hier jemand den Fehler finden? Wenn ich versuche, auf die URL in einem Webbrowser zuzugreifen, bekomme ich einen 404 und den folgenden Fehler im Apache-Fehlerprotokoll:

%Vor%

Meine Apache-Konfigurationsdatei sieht wie folgt aus:

%Vor%

BEARBEITEN

Hier ist ein Dump von meinem Apache Zugriff und Fehlerprotokolle.

tail /var/log/apache2/access.log :

%Vor%

tail /var/log/apache2/error.log :

%Vor%

Auch hier ist meine apache2.conf-Datei:

%Vor%

sowie die eigentliche Datei, die das Modul mod_rewrite "lädt":

%Vor%

BEARBEITEN WIEDER

Hier ist mein Rewrite-Protokoll, endlich hat es funktioniert, aber das Neuschreiben funktioniert noch nicht.

%Vor%     
Naftuli Kay 29.12.2010, 23:01
quelle

3 Antworten

14

Ihre Fehlermeldung über die Verhandlung sprechen (entfernen Sie mod_negociate, wenn Sie keine mehrsprachige Behandlung benötigen).

Entfernen Sie jetzt die Multiviews-Optionen in Ihrem Verzeichnis.

Und dann erhöhen Sie mod_rewrite loglevel auf 9 und setzen Sie eine Reweldelog-Datei, um eine Ablaufverfolgung zu erhalten.

BEARBEITEN: Um das Modul zu entfernen, das Sie nicht benötigen, können Sie den Befehl a2dismod verwenden (was a -pache- 2 dis bedeutet) -able mod -ules). Und Sie können sie mit a2enmod wieder aktivieren. Entfernen Sie das Verhandlungsmodul.

Wenn in Ihrer Konfiguration nach der Deaktivierung des Moduls ein Fehler auftritt, erhalten Sie eine Benachrichtigung über die zu ändernde Zeile in den Protokollen.

Sie können MultiViews auch per-Directory-Einstellungen deaktivieren, wie es in Ihrem cgi-bin-Verzeichnis mit der Options-Zeile geschieht. Fügen Sie eine Verzeichniskonfiguration für Ihr Projekt hinzu;

%Vor%     
regilero 03.01.2011, 19:09
quelle
0

Wie wäre es damit:

%Vor%

oder das:

%Vor%     
CrazyDart 29.12.2010 23:10
quelle
0

Ich könnte das beheben, indem ich ein Verzeichnis vermeiden, das mit einem Großbuchstaben beginnt. Falls jemand das gleiche Problem hat.

    
Hannes Schneidermayer 14.10.2013 02:21
quelle

Tags und Links