Indexseite mit Parameter
Moderator: Moderatoren
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Indexseite mit Parameter
Hallo,
ich brauche eine Weiche für den Login damit ich verschiedene Indexseiten aufrufen kann. Zuerst dachte ich dass ich einen Parameter angeben kann, geht aber nicht, z.B. localhost:81?action=login1 ergibt The requested file was not found ! aus der Methode onnotfound(). Mit login1.localhost:81 geht es, ich kann dann mit oClient:HTTPRequest:host() login1 rausfiltern. Habe ein Domain für meinen Webserver registriert und eine Umleitung auf die IP und den Port gemacht, hier funktioniert es wiederum nicht. Wie kann ich also unterschiedliche Logins für einen Webserver machen ?
Grüße
Rudolf
ich brauche eine Weiche für den Login damit ich verschiedene Indexseiten aufrufen kann. Zuerst dachte ich dass ich einen Parameter angeben kann, geht aber nicht, z.B. localhost:81?action=login1 ergibt The requested file was not found ! aus der Methode onnotfound(). Mit login1.localhost:81 geht es, ich kann dann mit oClient:HTTPRequest:host() login1 rausfiltern. Habe ein Domain für meinen Webserver registriert und eine Umleitung auf die IP und den Port gemacht, hier funktioniert es wiederum nicht. Wie kann ich also unterschiedliche Logins für einen Webserver machen ?
Grüße
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Martin Altmann
- Foren-Administrator
- Beiträge: 16537
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Indexseite mit Parameter
Moin Rudolf,
Boris hat doch ein ganz gutes Beispiel dabei - baue einfach subdomains! Die kannst Du dann auch entsprechend verzweigen.
Dazu nutzt Du einfach den FilterRequest:
den Du wie folgst einbaust:
In meinem Beispiel wird aus meldungen.altem.de /index.html
aus kundenportal.altem.de /Login?
aus altem.de (oder www.altem.de) /altem/index.html
Viele Grüße,
Martin
Boris hat doch ein ganz gutes Beispiel dabei - baue einfach subdomains! Die kannst Du dann auch entsprechend verzweigen.
Dazu nutzt Du einfach den FilterRequest:
Code: Alles auswählen
Function FilterRequest(oClient)
Local i
Local cHost := oClient:HTTPRequest:Host()
Local cPath := oClient:HTTPRequest:Path()
if valtype( cHost ) == "U"
cHost := ""
endif
if valtype( cPath ) == "U"
cPath := ""
endif
// strip out port numbers
if (i := At(':',cHost)) > 0
cHost := Left(cHost,i-1)
endif
if lower( left( cHost, 9 ) ) == "meldungen"
cHost := ""
if cPath $ "/\" .or. Empty(cPath)
cPath := "/index.html"
endif
elseif lower( left( cHost, 12 ) ) == "kundenportal"
cHost := ""
if cPath $ "/\" .or. Empty(cPath)
cPath := "/Login"
oClient:HTTPRequest:StartLine += "?"
endif
elseif .not. empty( cHost )
cHost := "/altem"
if cPath $ "/\" .or. Empty( cPath )
cPath := "/index.html"
endif
endif
// modify requested path
cPath := cHost + cPath
oClient:HTTPRequest:Path(cPath)
Return .T.
Code: Alles auswählen
MEMVAR->oWebServer:FilterRequest := {|o| FilterRequest(o)}
aus kundenportal.altem.de /Login?
aus altem.de (oder www.altem.de) /altem/index.html
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: Indexseite mit Parameter
Hallo Martin,
danke, so ähnlich habe ich es gemacht, aber ich kann auf einem anderen Rechner im Netzwerk mit dem Webserver nicht z.B. kundenportal.192.168.0.105:81 aufrufen, das geht nur mit localhost. Auch von außerhalb geht es nicht.
Grüße
Rudolf
danke, so ähnlich habe ich es gemacht, aber ich kann auf einem anderen Rechner im Netzwerk mit dem Webserver nicht z.B. kundenportal.192.168.0.105:81 aufrufen, das geht nur mit localhost. Auch von außerhalb geht es nicht.
Grüße
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Martin Altmann
- Foren-Administrator
- Beiträge: 16537
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Indexseite mit Parameter
Hallo Rudolf,
das kannst Du auch nicht - dafür muss ein entsprechender Eintrag im DNS vorliegen (oder in der lokalen "C:\Windows\System32\drivers\etc\hosts").
Im letzteren Fall schreibst Du Dort (auf dem PC, von dem aus Du testen willst) z.B. rein:
Dann kannst Du in Deinem Browser kundenportal.webserver.localhost als Adresse eingeben (oder eine der anderen beiden), landest immer auf dem selben Zielserver, der aber anhand des FilterRequest dann unterschiedlich reagiert.
Viele Grüße,
Martin
das kannst Du auch nicht - dafür muss ein entsprechender Eintrag im DNS vorliegen (oder in der lokalen "C:\Windows\System32\drivers\etc\hosts").
Im letzteren Fall schreibst Du Dort (auf dem PC, von dem aus Du testen willst) z.B. rein:
Code: Alles auswählen
192.168.0.105 kundenportal.webserver.localhost
192.168.0.105 meldungen.webserver.localhost
192.168.0.105 www.webserver.localhost
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Re: Indexseite mit Parameter
Wie Matin schon geschrieben hat müsstest Du verschiedene (Sub-)Hosts verwenden.
Die Web-Server arbeiten vorrangig mit Host-Headern (DNS-gesteuert).
In Intra-Netzen kann das schon über mehrere IP-Adressen je Netzwerkkarte gemacht werden, ist aber bei public Hostern nicht mehr üblich bzw machbar.
Die Web-Server arbeiten vorrangig mit Host-Headern (DNS-gesteuert).
In Intra-Netzen kann das schon über mehrere IP-Adressen je Netzwerkkarte gemacht werden, ist aber bei public Hostern nicht mehr üblich bzw machbar.
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: Indexseite mit Parameter
Hallo,
danke für Eure Antworten, dann muss ich mir eine andere Methode suche, mich wundert nur dass ich keine Parameter an die Index Seite übergeben kann die ich mit oServer:IndexFile definiere.
Grüße
Rudolf
danke für Eure Antworten, dann muss ich mir eine andere Methode suche, mich wundert nur dass ich keine Parameter an die Index Seite übergeben kann die ich mit oServer:IndexFile definiere.
Grüße
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: Indexseite mit Parameter
Hallo,
Problem gelöst, ich prüfe im Filter einfach auf den String im Path und ändere die Index Seite, das geht anscheinend immer.
Grüße
Rudolf
Problem gelöst, ich prüfe im Filter einfach auf den String im Path und ändere die Index Seite, das geht anscheinend immer.
Grüße
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net