Marcus Vieß: Filter in 404Error Skript

Hallo,

Ich habe ein kleines Problem. Ich habe ein nettes feines 404error skript laufen und dieses ein bisschen
manipuliert ! Das klappert un auch hervorragend.

Aber ! Das skript soll mir mails schicken welchen seiten nicht funzeln. Tut es auch !!!
Jetzt habe ich aber leider natürlich auch ne Fehlermeldungen die nicht nötig wären.
Wenn z.B. ne Suchmaschine nach robots.txt sucht.

Ich bekomme ne mail habe aber keine robots.txt und will auch eigentlich keine anlegen.
nun zur frage kann ich das ganze mit einem Filter belegen, dass das gute Prog bei z.B. robots.txt
nicht aktiv wird !
Ich habe das ganze mit subprogrammen umgemodelt.
Ich bräuchte also ein :

If $ENV{'REDIRECT_URL'} = "robots.txt"

starte &useroutput
und ende

else
starte &mailschicken
starte &logschreiben
starte &useroutput

und ende

am besten wäre wenn ich mehrere Filterwörter eingeben könnte.
Wie ihr merkt bin ich blutiger anfänger was CGI angeht ! aber ich kämpfe !!!
kann mir vielleicht einer helfen ???

gruss,
                 Marcus ...

  1. Hallo,

    Vielleicht etwas in der Art:

    <vorschlag>
    my(@filter) = ('robots.txt$','wasweissichwas','^/brauchichnicht.*')
    my($filter) = join('',@filter);

    if(!($ENV{'REDIRECT_URL'} =~ /($filter)/)
      {
      &mailschicken;
      &logschreiben;
      }
    &useroutput;
    </vorschlag>

    Die Bedeutung all dieser Dinge findest Du mit:
      perldoc perldata
      perldoc perlfunc
      perldoc perlre

    Grüße
      Klaus

    1. Vielleicht etwas in der Art:

      <vorschlag>
      my(@filter) = ('robots.txt$','wasweissichwas','^/brauchichnicht.*')
      my($filter) = join('',@filter);

      if(!($ENV{'REDIRECT_URL'} =~ /($filter)/)
        {
        &mailschicken;
        &logschreiben;
        }
      &useroutput;
      </vorschlag>

      Hallo, erstmal danke für die hilfe.

      Aber da ist wohl irgendwo eine Fehler drinne.
      Das skript will nicht mehr laufen.

      Ich hab das ganze mal auf  &mailschicken; reduziert.
      Alles andere entfernt ist nun ein sehr kleines und übersichtliches skript.
      Aber es will sich nicht starten üblicher Internal Server error.
      Entferne ich das oben und starte das  &mailschicken eifach so läufts.
      gruss,
                    Marcus ...

      1. Hallo,

        War ja nur als Vorschlag gedacht. Du solltest das schon noch genauer überdenken.

        Syntax-Fehler haben sich auch eingeschlichen. Naja, Verkühlungen soll man nun doch nicht unterschätzen.

        my(@filter) = ('robots.txt$','wasweissichwas','^/brauchichnicht.*')

        my(@filter) = ('robots.txt$','wasweissichwas','^/brauchichnicht.*');

        if(!($ENV{'REDIRECT_URL'} =~ /($filter)/)

        if(!($ENV{'REDIRECT_URL'} =~ /($filter)/))

        Da ich Dein script nicht kenne, muß Du schon ein bißchen mehr machen als nur Cut&Paste. (Und bitte schick mir jetzt nicht Dein script. Selbermachen ist viel lustiger, denk ich)

        Grüße
          Klaus

        1. Da ich Dein script nicht kenne, muß Du schon ein bißchen mehr machen als nur Cut&Paste. (Und bitte schick mir jetzt nicht Dein script. Selbermachen ist viel lustiger, denk ich)

          So, nochmals Danke !!!
          Scheint zu klappern !!!
          Nee, Skript schicke ich dir nur wenn du danach verlangst !
          alles andere wäre etwas unverschämt ! Aber das scheint ja schon nicht mehr nötig.
          Ich glaube es funktioniert bereits alles.
          Leck mich an die Füße, ich wollte nur mal sagen das dieses Forum wirklich geil ist !
          Hoffe ich kann auch mal einem helfen !

          gruss,
                         Marcus ...