Hallo,
access.log unter xamp (windows, lokale Umgebung):
127.0.0.1 - - [07/Mar/2009:18:11:23 +0100] "GET /%22microsoft%20word%22?start=0&count=10&suchoption=1 HTTP/1.1" 403 1201
ja fein, der Request auf /%22microsoft%20word%22 geht also durch und bringt noch die URL-Parameter start=0, count=10 und suchoption=1 mit. Offensichtlich wurde keine deiner Rewrite Rules angewendet.
error.log unter xamp
[Sat Mar 07 18:11:23 2009] [error] [client 127.0.0.1] (20024)The given path is misformatted or contained invalid characters: Cannot map GET /%22microsoft%20word%22?start=0&count=10&suchoption=1 HTTP/1.1 to file, referer: http://fobis_local/
Dein Apache teilt dir mit, dass er /%22microsoft%20word%22 nicht auf eine Datei abbilden konnte, weil ungültige Zeichen drin sind. Und ja, unter Windows sind Anführungszeichen im Dateinamen tatsächlich nicht zulässig. Also kann der Apache den Request nicht bedienen.
Dass er mit 403 antwortet, finde ich etwas seltsam; ich hätte in der Situation eher 404 oder eventuell 500 erwartet. Aber vielleicht antwortet das Filesystem von Windows schon mit "Access denied", was der Apache dann korrekterweise in einen 403er umsetzt.
Die Meldungen wurden unter folgenden rewrite-Regeln erzeugt:
RewriteCond %{QUERY_STRING} ^start=([0-9]+)&count=([0-9]+)&suchoption=(.*)$
RewriteRule ^(.+)/(.+[^/])$ results.php?searchtext=$2&start=%1&count=%2&suchoption=%3
Diese Rewrite Rule matcht nicht auf dein URL-Beispiel: /"Microsoft Word"
Dann dein Regex fordert immer noch:
"Mindestens ein beliebiges Zeichen am Anfang, gefolgt von einem Slash, gefolgt von mindestens einem weiteren beliebigen Zeichen, am Ende ein Zeichen, das kein Slash ist." Das passt nicht auf den obigen URL-Ausdruck.
RewriteCond %{QUERY_STRING} ^start=([0-9]+)&count=([0-9]+)&suchoption=(.*)$
Dieselbe Bedingung wie oben noch einmal? Wozu das?
RewriteRule ^(.+[^/])$ results.php?searchtext=$1&start=%1&count=%2&suchoption=%3
"Ein bis beliebig viele Zeichen, gefolgt von einem Zeichen, das kein Slash ist."
Das würde zutreffen, kommt aber offensichtlich doch nicht zur Anwendung. Jetzt wäre noch das Rewrite Log spannend.
»» Hi,
»» [...]
»» MfG ChrisB
Und zitiere in Zukunft bitte sinnvoll, unterlasse vor allem die unanständigen Fullquotes. Danke.
So long,
Martin
--
In der Theorie stimmen Theorie und Praxis genau überein.