httpd-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bodo Eing <ei...@uni-muenster.de>
Subject Re: 404 responses trotz AddHandler Direktive
Date Thu, 18 May 2006 15:23:39 GMT
Hi,

[snip]

 >> Wie sollte man Apache konfigurieren, dass *jede* Anfrage nach einem 
html
 >> Dokument in einer betimmten <Location> an das Skript weitergegeben 
wird,
 >> unabhängig davon, ob eine entsprechende Datei existiert ?

 > -> mod_rewrite, jedoch außerhalb von <Location>-Abschnitten (also im
 > <virtualhost...> oder in der main server config section, ernn eben keine
 > virtual hosts genutzt werden:

 > RewriteEngine on
 > RewriteRule ^/meine/site/.+\.html?$ /cgi-bin/testskript.pl [PT]

 > Leitet /meine/site/abc.html oder /meine/site/abc.htm etc. um.

 > Dazu musst du das Modul mod_rewrite ggf. laden, d.h. das
 > Kommentarzeichen vor LoadModule entfernen.
 > --
 > Robert

Lieber Robert, vielen Dank für den Hinweis auf mod_rewrite (was ein 
Monster, ich habe Tage zum Durchlesen gebraucht und es immer noch nicht 
verstanden, aber im mod_rewrite Guide sind wirklich in paar gute 
praktische Tipps drin). Dein Codeschnipsel oben hat auch mit den 
entsprechenden Anpassungen an meine Pfade funktioniert, aber leider 
ebenfalls nur für existierende Dateien. Ich habe noch verschiedene 
andere Möglichkeiten ausprobiert (z.B. ScriptAliasMatch), die alle 
funktionieren, aber eben auch nur für vorhandene Dateien. Es scheint mir 
nicht gelingen zu wollen, das standardmäßige URL => Dateisytem-Mapping 
zu unterdrücken, wenn am Ende ein CGI-Skript aufgerufen wird ( z.B. 
versucht auch mod_dir mit der standardmäßig aktivierten DirectorySlash 
Direktive immer  herauszufinden, ob die URL auf ein Verzeichnis im 
Dateisystem gemappt werden kann).

Es ist mir dennoch (durch Zufall) gelungen, ein Lösung zu finden. Ich 
bin über die Dokumentation für Apache 2.2 gestolpert und siehe da: das 
Problem ist mit dem neuen "virtual"-Flag für die Action Direktive und 
einem LocationMatch wirklich einfach und auch für Anfänger 
nachvollziehbar zu erschlagen:

<LocationMatch ^/meine/site/.+\.htm(l{0,1})$ >
     SetHandler testskript
     Action testskript /cgi-bin/testskript.pl virtual # <=
</LocationMatch>

und alles geht (bis jetzt :) ) ohne Probleme: .html oder .htm URLs 
triggern das Skript, alles andere wird durchgereicht. Ein Lob der 
Entwicklergemeinde !

Bodo

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Mime
View raw message