Reiner: geht das mit mod_rewrite?

Hallo,

ich habe mir gerade mal etwas mod_rewrite angesehen, hatte mich vorher nie damit beschäftigt.
Ich möchte etwas erreichen, wobei ich aber nicht sicher bin, ob es damit überhaupt geht.

Folgendes:
Ich habe im Conf.File des Apache folgenden Handler eingetragen:

Options +ExecCGI -Includes
AddHandler cgi-script .cgi .pl .perl

Für mich wichtig ist prinzipiell ".pl".
Nun möchte ich aber, daß ein Aufruf der Art:
http://www.server.de/test?test=1
das ausführt, was ich bisher nur mit:
http://www.server.de/test.pl?test=1
erreichen konnte.

Ich sehe nicht, daß es einen leeren String in der AddHander-Zeile geben könnte, also ohne .xx - oder könnte es damit gehen.

Ansonsten ist meine Idee, daß per mod_rewrite zu machen.
Laut Doku, die ich gefunden habe, könnte ich das z.B. in der .htaccess verpacken, z.B. so (?):

RewriteRule   ^test?$  test.pl?

mod_rewrite habe ich nicht installiert, wenn es anders ginge, wäre es auch nett.

Danke!
Reiner

  1. morgens,

    Options +ExecCGI -Includes
    AddHandler cgi-script .cgi .pl .perl

    In welchem Container hast du das eingetragen? Und wie kommst du auf die äußerst ungewöhnliche Extension ".perl"?

    Nun möchte ich aber, daß ein Aufruf der Art:
    http://www.server.de/test?test=1
    das ausführt, was ich bisher nur mit:
    http://www.server.de/test.pl?test=1
    erreichen konnte.

    Ich kann nicht sehen, daß deine erste Angabe irgendein Ergebnis erbracht haben könnte. Bei der "Alternative", die du anstrebst, handelt es sich aber um eine "default"-Einstellung, die eventuell mit deinem PERL-Script, niemals aber mit deinem Apache zu tun hat. Laß es ganz einfach so, da es ja, wie du schreibst, funktioniert.

    Ansonsten ist meine Idee, daß per mod_rewrite zu machen.

    Nach deiner Beschreibung irrelevant.

    Was genau möchtest du erreichen?

    Grüße aus Berlin

    Christoph S.

    1. Hi,

      Options +ExecCGI -Includes
      AddHandler cgi-script .cgi .pl .perl

      In welchem Container hast du das eingetragen? Und wie kommst du auf die äußerst ungewöhnliche Extension ".perl"?

      Container: Hauptpfad also: "/".
      Das zweite ist eher irrelevant.

      Nun möchte ich aber, daß ein Aufruf der Art:
      http://www.server.de/test?test=1
      das ausführt, was ich bisher nur mit:
      http://www.server.de/test.pl?test=1
      erreichen konnte.

      Ich kann nicht sehen, daß deine erste Angabe irgendein Ergebnis erbracht haben könnte. Bei der "Alternative", die du anstrebst, handelt es sich aber um eine "default"-Einstellung, die eventuell mit deinem PERL-Script, niemals aber mit deinem Apache zu tun hat. Laß es ganz einfach so, da es ja, wie du schreibst, funktioniert.

      Nein, ich möchte damit wirklich das beschriebene erreichen.
      Warum, ist ja zunächst egal.

      /perldatei? soll auf /perldatei.pl? verweisen.

      Ansonsten ist meine Idee, daß per mod_rewrite zu machen.

      Nach deiner Beschreibung irrelevant.

      Wieso das?

      Was genau möchtest du erreichen?

      Nochmal:
      /perldatei?x=1 soll gleich sein mit /perldatei.pl?x=1

      Wie ich das erreiche, ist mir prinzipiell egal.
      Ich kann natürlich eine Datei "perdatei" ausführbar machen (755), aber der Apache macht das mit obigem Handler nicht mit.
      Nur was soll ich in den Handler eintragen?
      Vielleicht das NICHTS als Maskierung so: \ ?
      Das scheint mir wackelig?! Deswegen kam ich auf Mod_rewrite.
      Womit ich jetzt auch schon rumprobiere, geht aber leider nicht.

      Gruß
      Reiner

      1. morgens,

        In welchem Container hast du das eingetragen? Und wie kommst du auf die äußerst ungewöhnliche Extension ".perl"?
        Container: Hauptpfad also: "/".

        Das ist Unsinn, einen solchen Container gibt es nicht. Container sind so etwas:
        <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <IfDefine>, <IfModule>, <Location>, <LocationMatch>, <Proxy>, <ProxyMatch> und <VirtualHost>

        Das zweite ist eher irrelevant.

        Einverstanden.

        /perldatei? soll auf /perldatei.pl? verweisen.

        Dann muß möglicherweise "perldatei" einen MIME-Typ bekommen.

        Ansonsten ist meine Idee, daß per mod_rewrite zu machen.
        Nach deiner Beschreibung irrelevant.
        Wieso das?

        Wegen http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html

        Grüße aus Berlin

        Christoph S.

        1. morgens,

          In welchem Container hast du das eingetragen? Und wie kommst du auf die äußerst ungewöhnliche Extension ".perl"?
          Container: Hauptpfad also: "/".

          Das ist Unsinn, einen solchen Container gibt es nicht. Container sind so etwas:
          <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <IfDefine>, <IfModule>, <Location>, <LocationMatch>, <Proxy>, <ProxyMatch> und <VirtualHost>

          ja, ich meine damit <directory>

          Das zweite ist eher irrelevant.

          Einverstanden.

          /perldatei? soll auf /perldatei.pl? verweisen.

          Dann muß möglicherweise "perldatei" einen MIME-Typ bekommen.

          ja, das kann man in mime.types einstellen.
          Bezieht sich auf Extension.->schlecht, ich habe keine.

          Wenn es mit so ginge, dann ja auch im Handler in der apache-conf.

          Ansonsten ist meine Idee, daß per mod_rewrite zu machen.
          Nach deiner Beschreibung irrelevant.
          Wieso das?

          Wegen http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html

          Genau das habe ich mir angesehen.
          Ich verstehe nicht, wieso das so falsch sein soll.

          Gruß
          Reiner

          1. Hallo Christoph,

            geht so:

            ScriptAliasMatch perlscriptname /srv/www/cgi-bin/perlscriptname.pl

            Gruß und danke für Deine Bemühungen!

            Reiner

            1. Hallo Christoph,

              ich möchte mal den Hintergrund ansprechen, der schon etwas "lustig" erscheint.
              Ich habe wahrscheinlich einen Bewseis gefunden, daß die Inktomi-Maschinen (Yahoo) nicht wirklich einen eigenen Index aus dem Netz erstellen. Sie scheinen Google abgrasen zu wollen.
              Mit einem sehr einfachen Trick habe ich vorgekaukelt, daß meine Maschine Google ist - aus einem ganz anderen Grund - und heute habe ich was wirklich sehr lustiges festgestellt, was ich zunächst nicht verstanden habe:

              Auf meiner Kiste tummelt sich (im Durchschnitt alle 15 Min.!) Yahoo und macht Anfragen an "Google". Ich bin mir fast sicher, daß sie glauben, ich wäre im IP-Bereich von Google.

              Aus Marketing-Gründen könnte das der Hammer sein, denn ich bin mir nicht sicher, ob wiederum andere Maschinen (vielleicht sogar indirekt Google) auf die Indices Inktomi-Maschinen zurückgreifen.
              Das wäre eine fatale Lücke, denn so hätte man einen bisher - zumindest mir - unbekannten SuchmaschinenTrick, der u.U. heftige Möglichkeiten offenlegen würde...

              Ich will das noch nicht zu sehr hinausschreien, aber wenn es stimmt, wäre das sehr "lustig".

              Gruß
              Reiner

              1. Hello,

                Ich will das noch nicht zu sehr hinausschreien, aber wenn es stimmt, wäre das sehr "lustig".

                *ggg* Du hast ja leise gepostet...

                Harzliche Grüße aus http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau