mod_rewrite: (22)Invalid argument: Cannot map ... to file

Alles, was den Apache betrifft, kann hier besprochen werden.

mod_rewrite: (22)Invalid argument: Cannot map ... to file

Postby BerndLiebermann » 23. January 2009 00:23

Hallo,

ich habe folgendes Problem: seit unserem Umzug von UNIX Shared Hosting auf einen eigenen virtuellen Win 2003 Server mit Apache 2.2 funktioniert unsere URL-Rewrite-Konfiguration nicht mehr, wenn der erste Verzeichnisteil hinter dem Domainnamen einen url-kodierten Umlaut enthält -z.B.

1) http://www.mydomain.de/K%F6ln/ergebnisse/1234

Der Aufruf dieser URL führt im Client zu der Fehlermeldung

Forbidden - You don't have permission to access /Köln/ergebnisse/1234 on this server

und im Error-Log zum Eintrag

(22)Invalid argument: Cannot map GET /K%F6ln/ergebnisse/1234 HTTP/1.1 to file

Erstaunlicherweise führt die (nicht gemappte) URL

2) http://www.mydomain.de/ergebnisse/K%F6ln/1234

lediglich zu einem 404-Fehler. Und - für mich nicht minder erstaunlich! - führt die nicht enkodierte URL

3) http://www.mydomain.de/Köln/ergebnisse/1234

zur gewünschten Seite (/ergebnisse.php?event_id=1234 - das "Köln" spielt als Parameter letzlich keine Rolle und ist nur für die Suchmaschinen-Indizierung bestimmt).

Die testhalber eingeschaltete Rewrite-Protokollierung zeigt, dass ein Rewrite für die URLs 2) und 3) stattfindet, für die Variante 1) jedoch ausbleibt (kein Eintrag im Protokoll).

Die RewriteRule lautet:

^(.*)/ergebnisse/([0-9]+)$ ergebnisse\.php?event_id=$2 [L]

Falls jemand selbt schon mit einem ähnlichem Problem zu kämpfen hatte oder sonst eine Idee hat, wie dies in den Griff zu kriegen ist - ich wäre für eine Antwort sehr, sehr dankbar...

Grüße,
Bernd
BerndLiebermann
 
Posts: 2
Joined: 22. January 2009 23:49

Re: mod_rewrite: (22)Invalid argument: Cannot map ... to file

Postby Nobbie » 23. January 2009 12:24

Irgendetwas stimmt an Deiner Beschreibung nicht - wahrscheinlich ist sie unvollständig.

Wie lautet die komplette Rewrite-Anweisung (bitte keine verstümmelten Auszüge posten, sondern vollständig ohne wenn und aber), wo steht die Anweisung (httpd.conf, oder in einer .htaccess), falls in einer .htaccess, wo ist diese gespeichert?
Nobbie
 
Posts: 8780
Joined: 09. March 2008 13:04

Re: mod_rewrite: (22)Invalid argument: Cannot map ... to file

Postby Wiedmann » 23. January 2009 12:37

wenn der erste Verzeichnisteil hinter dem Domainnamen einen url-kodierten Umlaut enthält -z.B.

Auf einem Windows-Server müssen Dateinamen UTF-8 url-kodiert sein. Auf einem Linux-Server war das biser ISO url-kodiert.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: mod_rewrite: (22)Invalid argument: Cannot map ... to file

Postby BerndLiebermann » 23. January 2009 23:01

Hallo Wiedmann,

danke für Deine Antwort. Mit http://www.mydomain.de/K%C3%B6ln/ergebnisse/1234 funktioniert's dann in der Tat und mein Problem ist gelöst. Trotzdem würd mich noch interessieren, warum der Rewrite nicht getriggert wird. Wieso sucht Apache erst nach einer Entsprechung im Dateisystem, bevor der Rewrite stattfindet? Dies ergibt für mich auf den ersten Blick nicht viel Sinn...

Grüße,
Bernd
BerndLiebermann
 
Posts: 2
Joined: 22. January 2009 23:49


Return to Apache

Who is online

Users browsing this forum: No registered users and 1 guest