Problem mit mod_rewrite

baserider

Well-known member
ID: 174417
L
10 März 2007
682
23
Hi,

folgendes steht un der htaccess:

Code:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(referenzen)/(.*)/(.*).html$ $1.php?bundesland=$2&detail_url=$3 [QSA,L,NC]
RewriteRule ^(referenzen)/(.*).html$ $1.php?bundesland=$2 [QSA,L,NC]
RewriteRule ^(.*).html$ $1.php

rufe ich nun: /referenzen/bayern.html auf, dann kommt immer

The requested URL /redirect:/referenzen.php/bayern.php/bayern.php was not found on this server.

An was kann das liegen? Hab es vorher auf meinem lokalen Testserver probiert und alles hat geklappt, nun online gestellt und es geht nicht. auch wenn ich ein existierendes Verzeichnis + Datei aufrufe, wird die letzte zeile der htaccess ausgeführt
 
Ich glaube QSA und Fragezeichen vertragen sich nicht.

Wäre es nicht aber eine Idee einfach jede Anfrage an die php weiterzuleiten und dann dort zu entscheiden was der Aufruf zu bedeuten hat? Bei mir hat das jedenfalls immer eher funktioniert, gerade weil ich besser mit php als mit Apache klar komme.
 
hmm QSA habe ich enfternt, aber tut sich nix.
Es muss irgendwie an den Slashes liegen, denn wenn ich einen Bindestrich benutze gehts, also anstatt (.*)/(.*) nehme ich (.*)-(.*), aber ich hatte mit dem slash noch nie Probleme und würde es auch so machen wollen.
 
Hi,

Problem gelöst.
Ich musste in der htaccess noch

Options -MultiViews

eintragen. Anscheind war das bei dem Provider anders konfiguriert, da man ohne diese Option z.B. Dateien auch ohne Endung aufrufen kann und es kommt zu keinem Fehler