Virtueller Pfadteil: Welchen Handler wie Benutzen

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

Virtueller Pfadteil: Welchen Handler wie Benutzen

Postby BigMarser » 03. June 2010 12:29

Hallihallo,

ich habe bereits gesucht, aber nichts adäquates gefunden.

Ich möchte gern eine dynamische Webapplikation entwickeln, wobei mir der Apache helfen soll. Problem ist, dass ich alle möglichen Requests einer bestimmten URL-Art abfangen will und von einem bestimmten Interpreterskript behandeln lassen will.

Als Beispiel:
Reagieren soll der Handler auf
http://www.meinedomain.de/Test.site
http://www.meinedomain.de/Test.site/Cat ... orChildren

nicht jedoch auf
http://www.meinedomain.de/test/Test.site
oder
http://www.meinedomain.de/cgi-bin/Test.site

Das Kriterium ist also an dieser Stelle /(.*^\/).site(.*)
Ich hoffe mal die Regex waren jetzt korrekt, zu gut deutsch also: reagiere auf alles, was auf Rootebene einen Pfadteil anspricht, der auf .site endet.

Jetzt soll folgendes passieren: reagiert der Handler, soll ein einfaches Skript (kein CGI-Script und bitte auch kein Rewrite!) aufgerufen werden, der den Request behandelt, z.B. soll ein Perlskript interpretiert werden, oder ein Pythonskript.

Wichtig: nirgendwo auf dem Server gibt es eine .site Datei, das ganze ist also nur eine virtuelle Behandlung. In der Folge möchte ich auch gern, dass das ganze nicht unbedingt an diesen virtuellen Dateiendungen festgemacht wird, sondern über eine Config im aufzurufenden Skript die Domain auch ausgewertet wird.

Wie genau funktioniert so etwas unter Apache?


Grüße,
BigMarser
BigMarser
 
Posts: 1
Joined: 03. June 2010 12:12

Re: Virtueller Pfadteil: Welchen Handler wie Benutzen

Postby Nobbie » 03. June 2010 15:49

BigMarser wrote:soll ein einfaches Skript (kein CGI-Script und bitte auch kein Rewrite!) aufgerufen werden, der den Request behandelt, z.B. soll ein Perlskript interpretiert werden, oder ein Pythonskript.


Hä?? Jedes Scipt (egal ob Perl, Python oder PHP) ist ein CGI-Script. Und ohne Rewrite geht es gar nicht.

BigMarser wrote:Wie genau funktioniert so etwas unter Apache?


Mit mod_rewrite siehe http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

Allerdings sollte dazu die Regexp in Ordnung sein, wass sie nicht ist - (.*^\/) ist ziemlicher Käse.

BigMarser wrote:Wichtig: nirgendwo auf dem Server gibt es eine .site Datei, das ganze ist also nur eine virtuelle Behandlung.


Deswegen brauchst Du einen Rewrite, sonst gibt es einen Error 403, bevor der Handler ausgeführt wird.

P.S.: Ich muss mich korrigieren - Du hast Glück, es gibt das Keyword "virtual", damit geht das. Allerdings muss das Script dennoch ein CGI-Script sein, aber das kann ja nicht das Problem sein. Das Beispiel sieht so aus:

Code: Select all
AddHandler my-file-type .site
Action my-file-type /cgi-bin/program.cgi virtual


siehe http://httpd.apache.org/docs/2.2/mod/mo ... tml#action
Nobbie
 
Posts: 8766
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests