[GastForen Archiv Perl und CGI header / adresszeile

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

header / adresszeile

r a c
Beiträge gesamt: 955

18. Feb 2004, 15:19
Beitrag # 1 von 5
Bewertung:
(1371 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich habe ein CGI das Daten aus einem Formular übernimmt, ein email sendet und dann eine Bestätigungsseite anzeigt.
Diese Seite hat dann die Adresse http://www.domain.ch/...n/irgendeinscript.pl , weil das Script im /cgi-bin/ liegt. Ich hätte lieber, wenn /cgi-bin/ nicht in der Adresse der ausgegebenen Seite vorkommen würde (also sowas wie: http://www.domain.ch/irgendwasanderes.html), aber das Script möchte ich dort lassen, wo es ist.
Ist das möglich?

Im Moment sieht das so aus:
print(PrintHeader);
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n\n";
print "<html>\n"; usw.

und ich suche was, wie:
print "Status: 302 Found\n";
print " ####andere Adresse, als die des Scripts
print "Content-type: text/html\r\n\r\n";

print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n\n";
print "<html>\n"; usw.
X

header / adresszeile

SabineP
Beiträge gesamt: 7586

18. Feb 2004, 17:36
Beitrag # 2 von 5
Beitrag ID: #71104
Bewertung:
(1371 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo rac,

zum Umschreiben von URLs wird eigentlich das Apache-Modul mod_rewrite verwendet.

Das Modul wird aufgerufen in der .htaccess mit der Zeile

RewriteEngine on

Anschließend wird die Rewrite-Regel eingetragen.

Ein Beispiel dazu gibts hier:
http://faq.1und1.de/...hnik/htaccess/4.html

----

Bei einer Weiterleitung mit dem Statuscode 302 muß die Zieladresse der Weiterleitung auch existieren.
Ansonnsten funktioniert das nicht.

Kannst Du CGI-Scripte auch außerhalb des Verzeichnisses cgi-bin ausführen?
Das wäre die einfachste Lösung.

Gruß Sabine


als Antwort auf: [#71081]

header / adresszeile

r a c
Beiträge gesamt: 955

18. Feb 2004, 20:31
Beitrag # 3 von 5
Beitrag ID: #71120
Bewertung:
(1371 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine,
ja, ich kann CGI-Scripte auch ausserhalb des Verzeichnisses cgi-bin ausführen.
Ich glaube jetzt auch, dass das die einfachste Lösung ist.


Ich hätte trotzdem gerne die Rewrite-Regel verstanden. Das Beispiel hat mir noch nicht geholfen. Wie muss es heissen um aus

/cgi-bin/allform.pl
/foo/ausgabe.html

zu machen?


als Antwort auf: [#71081]

header / adresszeile

SabineP
Beiträge gesamt: 7586

18. Feb 2004, 22:05
Beitrag # 4 von 5
Beitrag ID: #71132
Bewertung:
(1371 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo rac,

Du legst in das Verzeichnis /foo/ eine .htaccess mit dem Inhalt

RewriteEngine on
RewriteCond %{REQUEST_URI} (.*)ausgabe\.html$
RewriteRule (.*)ausgabe\.html$ /cgi-bin/allform.pl

und in das Verzeichnis /cgi-bin/ die Datei allform.pl

Wenn Dein Provider mod_rewrite unterstützt, dann erscheint bei Aufruf der URL

domain.ch/foo/ausgabe.html

die Ausgabe des Scripts allform.pl

Gruß Sabine


als Antwort auf: [#71081]

header / adresszeile

r a c
Beiträge gesamt: 955

19. Feb 2004, 01:00
Beitrag # 5 von 5
Beitrag ID: #71159
Bewertung:
(1371 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
erstmal Danke.

Grüsse r a c


als Antwort auf: [#71081]
X