hilfdirselbst.ch
Facebook Twitter gamper-media

"Geht nicht" ist keine gültige Fehlermeldung!

r a c
Beiträge: 955
18. Feb 2004, 15:19
Beitrag #1 von 5
Bewertung:
(1064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

header / adresszeile


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. Top
 
X
SabineP  M 
Beiträge: 7586
18. Feb 2004, 17:36
Beitrag #2 von 5
Beitrag ID: #71104
Bewertung:
(1064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

header / adresszeile


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] Top
 
r a c
Beiträge: 955
18. Feb 2004, 20:31
Beitrag #3 von 5
Beitrag ID: #71120
Bewertung:
(1064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

header / adresszeile


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] Top
 
SabineP  M 
Beiträge: 7586
18. Feb 2004, 22:05
Beitrag #4 von 5
Beitrag ID: #71132
Bewertung:
(1064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

header / adresszeile


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] Top
 
r a c
Beiträge: 955
19. Feb 2004, 01:00
Beitrag #5 von 5
Beitrag ID: #71159
Bewertung:
(1064 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

header / adresszeile


erstmal Danke.

Grüsse r a c
als Antwort auf: [#71081] Top
 
X