Die folgende Nachricht zum Thema stammt von: SebastianJu, 31. 10. 2008, 16:51
Hallo,
ich wollte bei einer bei Strato gehosteten Webseite eine Subdomainweiterleitung auf die Hauptdomain einrichten. Es besteht bereits eine Subdomain die bei Strato eingerichtet ist. Alle weiteren Aufrufe der Seite über eine Subdomain sollen nun halt nicht mehr in einer unerreichbaren Seite enden sondern auf die Hauptdomain umgeleitet werden. Dummerweise akzeptiert die Stratoseite offenbar kein Wildcard (*).
Kann ich trotzdem alle Subdomains auf die Hauptdomain umleiten? ZB per .htaccess oder so? Oder geht das wirklich nur von Hosterseite aus?
Grüße!
Sebastian
Die folgende Nachricht zum Thema stammt von: suit, 31. 10. 2008, 17:07
»» Dummerweise akzeptiert die Stratoseite offenbar kein Wildcard (*).
wildcard-domains müssen einerseits von der dns-software (bind kann das) und andererseits vom webserver (apache kann das) unterstützt werden - ob stato das kann/unterstütz, weiss ich nicht
»» Kann ich trotzdem alle Subdomains auf die Hauptdomain umleiten? ZB per .htaccess oder so? Oder geht das wirklich nur von Hosterseite aus?
domains können niemals per dns "weitergeleitet" werden, höchstens http-anfragen auf eine ressource die zufällig direkt unter einer domain liegt
grundvoraussetzung dafür ist aber, dass die domains existieren - wenn die domain foo.example.com im dns und der serverkonfiguration (wichtig, in beidem - eins allein klappt nicht [1]) nicht existiert, kannst du sie 100x umleiten versuchen (per http) und es wird nicht klappen
was möchtest du
a)
example.com und sub.example.com liefern den selben inhalt aus (das jeweils eingegebene bleibt in der adresszeile stehen)
b)
wenn ich auf sub.example.com gehe, werde ich umgeleitet und es steht example.com in der adresszeile
[1] ausser der server hat ohnehin nur einen vhost und liefert alles aus
Die folgende Nachricht zum Thema stammt von: SebastianJu, 31. 10. 2008, 17:15
Hallo suit,
ich möchte a. Es soll der gleiche Inhalt sein und die gleiche url damit zB mitgegeben Parameter auf der Seite ausgewertet werden können...
b wäre dann ok wenn alle Parameter nach index.php/ mitgegeben würden damit sie ausgewertet werden können...
Die parameter sehen zB so aus: index.php/cde-fac-kp
Also der letzte Teil nach dem Slash.
Grüße!
Sebastian
Die folgende Nachricht zum Thema stammt von: Florian Stascheck, 31. 10. 2008, 17:29
Hallo,
»» Die parameter sehen zB so aus: index.php/cde-fac-kp
»» Also der letzte Teil nach dem Slash.
Sorry, aber mein Astrologie-Studium ist noch nicht beendet, ich wusste vorher nicht, dass du mit mod_rewrite arbeitest
mfg, Flo
--
Developers are dying. Computers are getting trash. CEO's become forgetten. The only remaining things are ideas, lies and crises. So if you want to be immortal, first think, than stop it and go to microsoft and become later a manager at Lehman Brothers...
sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
*Zu dem de:> Ich benutze wegen IE im moment noch tabellen, weil dieser display:table noch nicht versteht. Ich werde aber, wenn IE 6 & IE 7 < 10% mein neues CSS-Layout einspielen...
Die folgende Nachricht zum Thema stammt von: SebastianJu, 31. 10. 2008, 17:34
Wie meinst du das Flo? Ich arbeite nicht mit mod_rewrite. Dasjenige nach dem Slash sind nur parameter die in der index.php dann verarbeitet werden...
Grüße!
Sebastian
Die folgende Nachricht zum Thema stammt von: Florian Stascheck, 31. 10. 2008, 17:37
Hallo,
Wie werden die ohne mod_rewrite verwendet? So sieht es aus, als ob index.php ein Ordner ist und die komische Zeichenkette eine Datei darin!
mfg, Flo
--
Developers are dying. Computers are getting trash. CEO's become forgetten. The only remaining things are ideas, lies and crises. So if you want to be immortal, first think, than stop it and go to microsoft and become later a manager at Lehman Brothers...
sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
*Zu dem de:> Ich benutze wegen IE im moment noch tabellen, weil dieser display:table noch nicht versteht. Ich werde aber, wenn IE 6 & IE 7 < 10% mein neues CSS-Layout einspielen...
Die folgende Nachricht zum Thema stammt von: SebastianJu, 31. 10. 2008, 17:42
Die werden über Servervariablen mit php ausgelesen. Was die index.php zB macht. Darin werden dann alle Zeichen nach dem letzten Slash ausgelesen und ausgewertet. Habe ich mir angewöhnt weil es mal als eine suchmaschinenfreundlichere Methode galt Parameter zu übergeben. Ob das so gilt weiß ich nicht. Funktionieren tut es jedenfalls problemlos.
Grüße!
Sebastian
Die folgende Nachricht zum Thema stammt von: suit, 31. 10. 2008, 17:47
»» Habe ich mir angewöhnt weil es mal als eine suchmaschinenfreundlichere Methode galt Parameter zu übergeben. Ob das so gilt weiß ich nicht. Funktionieren tut es jedenfalls problemlos.
ob deine ressource mit example.com/foo/bar/baz oder mit example.com/?id=foo&page=bar&offset=baz aufgerufen wird, ist ansich egal
interessanter hingegen ist example.com/artikel/wie-sterbe-ich-schneller anstatt example.com?id=13
aber zurück zum thema: was mein vorreder damit meint
example.com/index.php/cde-fac-kp ruft ohne weiteres zutun die datei cde-fac-kp im verzeichnis index.php auf
das intern in index.php?p=cde-fac-kp umzuwandeln bedarf üblicherweise einer logik, die zb mod_rewrite bereitstellt
Die folgende Nachricht zum Thema stammt von: SebastianJu, 31. 10. 2008, 18:05
> example.com/index.php/cde-fac-kp ruft ohne weiteres zutun die datei cde-fac-kp im verzeichnis index.php auf
Tut es aber nicht. Da es erstens keine solchen Dateien gibt und zweitens funktioniert es ja so dass die index.php aufgerufen wird. Da muss auch nichts umgewandelt werden. Ich kann dir den Codeschnipsel geben wenn du mir nicht glaubst. Das wird wirklich nur per php ausgewertet. Ob da eventuell eine gleichnamige Datei aufgerufen werden könnte ist mir noch nie untergekommen weil es nie eine solche Datei gab...
Grüße!
Sebastian
Die folgende Nachricht zum Thema stammt von: suit, 31. 10. 2008, 18:07
»» Tut es aber nicht. Da es erstens keine solchen Dateien gibt und zweitens funktioniert es ja so dass die index.php aufgerufen wird. Da muss auch nichts umgewandelt werden. Ich kann dir den Codeschnipsel geben wenn du mir nicht glaubst. Das wird wirklich nur per php ausgewertet. Ob da eventuell eine gleichnamige Datei aufgerufen werden könnte ist mir noch nie untergekommen weil es nie eine solche Datei gab...
wie angesprochene variante mit dem analysieren des pfades ist natürlich eine möglichkeit - mich interessiert nur prinzipiell, wie du das machst - weils imho eine äusserst unübliche variante ist
Die folgende Nachricht zum Thema stammt von: SebastianJu, 31. 10. 2008, 18:18
Hier ist die Variante mit der ich die Parameter abrufe. Ich hoffe das ist das Richtige... :) :
$aPath_info=explode(".php/",$_SERVER['PHP_SELF']);
if (ltrim($_SERVER['PATH_INFO'],"/") == "")
{
$path_info=ltrim($_SERVER['ORIG_PATH_INFO'],"/");
}
else
{
$path_info=ltrim($_SERVER['PATH_INFO'],"/");
}
Die unterschiedlichen Servervariablen sind nötig wegen unterschiedlicher Konfigurationen bei den Hostern... Bei einer Umstellung bei meinem Hoster klappte es zB mal nicht mehr bis ich das Abrufen umstellte...
Grüße!
Sebastian
Die folgende Nachricht zum Thema stammt von: Florian Stascheck, 31. 10. 2008, 18:07
Hallo,
»» ...und zweitens funktioniert es ja so dass die index.php aufgerufen wird.
Mein Apache streikt bei sowas immer :) Ich muss mir das sowieso nochmal angucken!
mfg, Flo
--
Developers are dying. Computers are getting trash. CEO's become forgetten. The only remaining things are ideas, lies and crises. So if you want to be immortal, first think, than stop it and go to microsoft and become later a manager at Lehman Brothers...
sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
*Zu dem de:> Ich benutze wegen IE im moment noch tabellen, weil dieser display:table noch nicht versteht. Ich werde aber, wenn IE 6 & IE 7 < 10% mein neues CSS-Layout einspielen...
Die folgende Nachricht zum Thema stammt von: Florian Stascheck, 31. 10. 2008, 17:48
Hallo,
»» Die werden über Servervariablen mit php ausgelesen. Was die index.php zB macht.
Aber die wird doch gar nicht aufgerufen ohne mod_rewrite, weil danach noch weitere Angaben folgen. Erst ab dem ersten ? wird der Pfad ignoriert (oder irre ich mich?).
mfg, Flo
--
Developers are dying. Computers are getting trash. CEO's become forgetten. The only remaining things are ideas, lies and crises. So if you want to be immortal, first think, than stop it and go to microsoft and become later a manager at Lehman Brothers...
sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
*Zu dem de:> Ich benutze wegen IE im moment noch tabellen, weil dieser display:table noch nicht versteht. Ich werde aber, wenn IE 6 & IE 7 < 10% mein neues CSS-Layout einspielen...
Die folgende Nachricht zum Thema stammt von: suit, 31. 10. 2008, 17:58
»» Erst ab dem ersten ? wird der Pfad ignoriert (oder irre ich mich?).
wenn du mit "pfad ignoriert" meinst, dass ab dem fragezeichen die query-komponente beginnt, ja
RFC 3986 Abschnitt 3
The following are two example URIs and their component parts:
foo://example.com:8042/over/there?name=ferret#nose
\_/ \______________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment
| _____________________|__
/ \ / \
urn:example:animal:ferret:nose
Die folgende Nachricht zum Thema stammt von: ChrisB, 31. 10. 2008, 18:00
Hi,
»» »» Die werden über Servervariablen mit php ausgelesen. Was die index.php zB macht.
»» Aber die wird doch gar nicht aufgerufen ohne mod_rewrite, weil danach noch weitere Angaben folgen.
Informiere dich ueber das Stichwort PATH_INFO.
MfG ChrisB
--
„This is the author's opinion, not necessarily that of Starbucks.“
Die folgende Nachricht zum Thema stammt von: Florian Stascheck, 31. 10. 2008, 18:05
Hallo,
»» Informiere dich ueber das Stichwort PATH_INFO.
Ich hatte gedacht, das gibts nur in Perl, nicht in PHP ;)
mfg, Flo
--
Developers are dying. Computers are getting trash. CEO's become forgetten. The only remaining things are ideas, lies and crises. So if you want to be immortal, first think, than stop it and go to microsoft and become later a manager at Lehman Brothers...
sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
*Zu dem de:> Ich benutze wegen IE im moment noch tabellen, weil dieser display:table noch nicht versteht. Ich werde aber, wenn IE 6 & IE 7 < 10% mein neues CSS-Layout einspielen...
Die folgende Nachricht zum Thema stammt von: suit, 31. 10. 2008, 18:05
»» Informiere dich ueber das Stichwort PATH_INFO.
ja schon, aber der webserver muss dann mit irgend einem automatismus unabhängig von der gewählten ressource IMMER ein file aufrufen
wird dafür die 404-seite missbraucht, die dann abhängig vom ergebnis der analyse des pfades eine seite ausspuckt oder eben wirklich die 404-seite?
Die folgende Nachricht zum Thema stammt von: ChrisB, 31. 10. 2008, 18:08
Hi,
»» »» Informiere dich ueber das Stichwort PATH_INFO.
»» ja schon, aber der webserver muss dann mit irgend einem automatismus unabhängig von der gewählten ressource IMMER ein file aufrufen
Der Dateiname index.php stand doch in der genannten Beispieladresse mit drin.
»» wird dafür die 404-seite missbraucht, die dann abhängig vom ergebnis der analyse des pfades eine seite ausspuckt oder eben wirklich die 404-seite?
Nein, index.php wird aufgerufen, der "Rest" der Adresse als PATH_INFO uebergeben.
MfG ChrisB
--
„This is the author's opinion, not necessarily that of Starbucks.“
Die folgende Nachricht zum Thema stammt von: suit, 31. 10. 2008, 18:23
»» Hi,
»»
»» »» »» Informiere dich ueber das Stichwort PATH_INFO.
»» »» ja schon, aber der webserver muss dann mit irgend einem automatismus unabhängig von der gewählten ressource IMMER ein file aufrufen
»»
»» Der Dateiname index.php stand doch in der genannten Beispieladresse mit drin.
ich kapiers immer noch nicht
mein wiki (mediawiki) hatte mal solche pfade:
http://example/wiki/index.php/Hauptseite
index.php wurde aufgerufen, weil mod_rewrite dafür gesorgt hat, dass "wiki/index.php/Hauptseite" in "wiki/index.php?title=Hauptseite" umgeschrieben wurde
mittlerweile sieht der pfad so aus "http://example/wiki/Hauptseite" und wird in "http://example/wiki/index.php?title=Hauptseite" umgeschrieben - und genau dafür sorgt mod_rewrite bei mir
wenn ich auf einem anderen system (apache) eine index.php erstelle und dann index.php/foo aufrufe, bekomme ich eine 404-seite ausgeliefert
wenn ich ein verzeichnis index.php/ erstelle und dort eine datei "foo" erstelle, wird diese beim aufrufen ausgeliefert
»» »» wird dafür die 404-seite missbraucht, die dann abhängig vom ergebnis der analyse des pfades eine seite ausspuckt oder eben wirklich die 404-seite?
»» Nein, index.php wird aufgerufen, der "Rest" der Adresse als PATH_INFO uebergeben.
siehe oben, bei mir wird die datei "foo" im verzeichnis "index.php/" aufgerufen wenn existent, ansonsten gibts 404
gibts da irgendwo einen "haken" den man setzen muss in der apache config, für dieses path_info verhalten?
Die folgende Nachricht zum Thema stammt von: ChrisB, 31. 10. 2008, 18:29
Hi,
»» wenn ich auf einem anderen system (apache) eine index.php erstelle und dann index.php/foo aufrufe, bekomme ich eine 404-seite ausgeliefert
Dann ist dein Apache nicht so eingestellt, dass er die existente Datei index.php aufruft und ihr den Rest als PATH_INFO zur Verfuegung stellt.
http://httpd.apache.org/docs/2.0/mod/core.html#acceptpathinfo@title-AcceptPathInfo
»» siehe oben, bei mir wird die datei "foo" im verzeichnis "index.php/" aufgerufen wenn existent, ansonsten gibts 404
index.php soll kein Verzeichnis sein, sondern eine Scriptdatei - die dann den Rest des Pfades auswerten kann.
MfG ChrisB
--
„This is the author's opinion, not necessarily that of Starbucks.“
Die folgende Nachricht zum Thema stammt von: suit, 31. 10. 2008, 18:32
»» Dann ist dein Apache nicht so eingestellt, dass er die existente Datei index.php aufruft und ihr den Rest als PATH_INFO zur Verfuegung stellt.
»» http://httpd.apache.org/docs/2.0/mod/core.html#acceptpathinfo@title-AcceptPathInfo
"Kompatibilität: Verfügbar ab Apache 2.0.30"
das erklärt dann einiges, die alte testkiste hat noch keinen apache 2.x ;)
Die folgende Nachricht zum Thema stammt von: Florian Stascheck, 31. 10. 2008, 18:42
Hallo,
»» gibts da irgendwo einen "haken" den man setzen muss in der apache config, für dieses path_info verhalten?
Ich würde da auch gerne mal Haken setzen, anstatt alles nur mit nem Editor einzugeben :)
mfg, Flo
--
Developers are dying. Computers are getting trash. CEO's become forgetten. The only remaining things are ideas, lies and crises. So if you want to be immortal, first think, than stop it and go to microsoft and become later a manager at Lehman Brothers...
sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
*Zu dem de:> Ich benutze wegen IE im moment noch tabellen, weil dieser display:table noch nicht versteht. Ich werde aber, wenn IE 6 & IE 7 < 10% mein neues CSS-Layout einspielen...
Die folgende Nachricht zum Thema stammt von: SebastianJu, 31. 10. 2008, 18:05
Es geht auf jeden Fall. Mache ich schon Jahre so...
Grüße!
Sebastian
Die folgende Nachricht zum Thema stammt von: SebastianJu, 31. 10. 2008, 18:08
Um noch mal zur Grundfrage zurückzukommen. Ohne das bei Strato direkt einstellen zu können habe ich keine Möglichkeit zur Weiterleitung aller Subdomains oder? Weil die Subdomains die Strato nicht weiterleitet ja gar nicht erst beim entsprechenden Server ankommen oder?
Ich scheine bei Strato auch noch A-Einträge machen zu können aber wohl nur für bereits eingerichtet Subdomains. Was es natürlich auch unmöglich macht ein Wildcard zu benutzen...
Grüße!
Sebastian
Die folgende Nachricht zum Thema stammt von: suit, 31. 10. 2008, 18:15
»» Um noch mal zur Grundfrage zurückzukommen. Ohne das bei Strato direkt einstellen zu können habe ich keine Möglichkeit zur Weiterleitung aller Subdomains oder? Weil die Subdomains die Strato nicht weiterleitet ja gar nicht erst beim entsprechenden Server ankommen oder?
richtig, einerseits muss die domain im dns vorhanden sein - wenn kein zoneneintragt sagt, dass sub.example.com zu 208.77.188.166 kanns garnicht funktionieren
in zweiter linie muss der server wissen, was er tun soll, wenn jemand mit sub.example.com daherkommt - wenn die domain nirgends am server eingetragen ist, wird er bestenfalls error 400 bad request ausspucken
»» Ich scheine bei Strato auch noch A-Einträge machen zu können aber wohl nur für bereits eingerichtet Subdomains. Was es natürlich auch unmöglich macht ein Wildcard zu benutzen...
bind unterstütz wildcardodmains in der form "*.example.com." - dies gilt dann für "foo.example.com", "www.example.com" "blah.foo.bar.baz.example.com" usw und scheinbar - versuch ggf einen a-record für *.example.com zu erstellen
© 1998-2008
Impressum, Software: Classic Forum