Domain nach Weiterleitung

Shavaar

Cadet 3rd Year
Registriert
Nov. 2005
Beiträge
36
Hallo Leute,
nach langem durchforsten des Internets sehe ich mich nun doch gezwungen hier um eure Hilfe zu bitten.
Folgendes Problem beschäftigt mich:
Ich besitze ein Homepage, die auf dem Server eines Freundes gehostet ist, dazu besitze ich außerdem eine .de Adresse über 1und1. Bisher wurde die Domain per Frameweiterleitung auf die .html Seite auf dem Server weitergeleitet, daraus ergab sich dass die URL sich nicht ändert.
Nun möchte ich aber gern ein "Gefällt mir" Button für Facebook einbauen. Dafür liest aber Facebook Entsprechende Meta Tags aus, die leider durch die Framweiterleitung nicht vorhanden sind. Es gibt im 1und1 Portal die Möglichkeit die Weiterleitung auf HTTP umzustellen, woraus dann resultiert,dass in der Adresszeile die Adresse zum Server erscheint und somit auch im Facebook .
Nun meine Frage,ob es irgendwie die Möglichkeit gibt, dass weiterhin die Domain angezeigt wird und nicht der Direktlink?

Ich würde mich freuen,wenn mir jemand helfen könnte!

Gruß
Shavaar
 
Zuletzt bearbeitet:
Haut mir einen auf den Deckel wie ihr wollt: Lass einfach den Fratzenbuch Müll sein und das Problem ist gelöst. Braucht eh kein Mensch den Mist.
 
Sorry,aber das hilft mir nun gar nicht weiter.
Es geht mir ja nun auch nicht ausschließlich um FB, sondern auch von der veralteten Frame-Variante wegzukommen!
 
Naja theoretisch könnte das afaik über Javascript zu machen sein, PHP glaub ich auch. Aber ich weiss leider auch nciht genau wie.
 
Hhmmm, entweder stehe ich jetzt auf dem Schlauch oder ich verstehe etwas falsch.

Deine Domain liegt auf dem Server von 1und1.
Da wäre es doch am einfachsten, anstelle der Frameweiterleitung eine Weiterleitung durch eine .htaccess Datei (vorausgesetzt das mod_rewrite aktiviert ist).

Oder les ich jetzt irgend etwas falsch?
 
Falls zu deiner Domain bei 1und1 kein eigener Webspace gehört oder du diesen nicht brauchst würde ich die Domain nicht weiterleiten sondern, wie sichs gehört, den A-Eintrag (A Resource Record) der Domain auf die IP-Adresse des Servers deines Freundes stellen. Alles weitere übernimmt dann der. Das ist der saubere Weg. Ich hab meine Domains nicht bei 1und1 liegen, aber ein ordentlicher Domainhoster muss das ermöglichen.
 
tenthar, das ist keine lösung, wenn auf dem server des freundes noch mehr seiten liegen die man über hostheader ansprecht
 
Wieso soll das keine Lösung sein? Entweder der Server hat für jede gehostete Seite eine eigene IP (unwahrscheinlich) oder er macht das ganze über Name-based Vhosts. Ich sehe das Problem nicht, das ist nicht keine Lösung, sondern die einzig saubere. So eine Weiterleitung kann nur eine Krücke sein, mehr nicht. Natürlich würde das bedeuten dass besagter Freund seinen Webserver eventuell anders konfigurieren muss, wenn er das im Moment nicht so machen sollte.
 
`das würde sauber laufen, wenn beim freund ein nameserver läuft der die domains verwaltet. bei 1&1 kann man ja eine ns-weiterleitung einstellen.
 
Nicht dass ich wüsste. Wenn ich den A-Record beim entsprechenden Domainhoster entsprechend gesetzt habe geschieht die Umsetzung auf die IP-Adresse ja an dieser Stelle bereits.
Konkret: Im Browser aufrufen der Domain www.example.de -> DNS-Lookup -> Durch A-Eintrag wird festgestellt dass die zugeordnete IP die 11.11.11.11 ist -> Öffnen der HTTP-Verbindung zu 11.11.11.11 mit gesetztem Host-Header www.example.de -> Webserver nimmt Anfrage auf 11.11.11.11 entgegen, sucht in allen Virtual Hosts nach einem passenden, der auf 11.11.11.11 gebunden ist und als ServerName oder ServerAlias www.example.de hat -> Ausliefern der Seite aus dem entsprechenden DocumentRoot.

Das würde nur bei völlig hoffnungslos veralteten Browsern nicht funktionieren, die nicht alle nötigen Headerdaten senden. Diese würden den erstbesten Vhost zu sehen bekommen, wenn man keinen Workaround implementiert.

Und für interne Aufrufe der Domain vom Webserver selbst auf sich selbst reicht ein Eintrag in der /etc/hosts.
 
tenthar das klingt plausibel, muss ich mal testen wenn ich richtig wach bin^^
 
Da http ja ein Klartext-Protokoll ist kann man sich mit Telnet sehr schön anschaun was an welcher Stelle passiert, indem man einfach mal Browser spielt.

Einfach mal folgendes testen:
Zuerst einen nslookup auf google.de machen. Der wird mehrere Treffer liefern, eine IP davon ist 209.85.148.103

Jetzt folgendes testen:
telnet 209.85.148.103 80
GET intl/de/about.html HTTP/1.1
Host: google.de
<nochmal return drücken>

Darauf wird der Server dir erstmal bestätigen und dir Headerinfos schicken, ala:
HTTP/1.1 200 OK
Content-Type: text/html
<...>

<hier folgt der quelltext der angeforderten seite>
Connection closed by foreign host.

Leider kann ich nicht einfach die genaue Ausgabe posten, da ich das hier aus dem Firmennetz nicht machen kann.
Jetzt ist hier an keiner Stelle mehr die Rede von der Domain, der Request wird nur über die IP alleine gemacht (es sei denn man unterstellt einen Reverse Lookup, aber das ist nicht der Fall). Tatsächlich wird dem Server nur über diese Zeile Host: <...> mitgeteilt was man eigentlich aufgerufen hat. Das ist notwendig für name-based Vhosts und Pflicht bei HTTP/1.1. Ohne gehts nicht. Lässt man diese Zeile weg wird der Server sich beschweren dass er die Anfrage nicht versteht.


Edit: Wenn man das aus der Windows cmd macht sieht man ab GET nicht mehr was man tippt und muss das blind eingeben, etwas ärgerlich aber normal. Auf Linux ist das nicht so.
Google ist natürlich ein schlechtes Beispiel, der wird sagen dass du das nicht darfst. Leider kann ich jetzt aus dem Firmennetz keinen Server suchen der sicher name-based Vhosting betreibt, Google geht vermutlich direkt über die IP. Die haben ja genug davon, im Gegensatz zu jemandem der nur einen privaten Server betreibt. So jemand verfügt meist nur über eine oder 2 IPs. Das obige Beispiel ist also nur als Beispiel für die Methode zu verstehen. Für meinen eigenen Server weiß ich natürlich sicher dass das so ist, da ließe sichs z.B. testen.

Obwohl ich das ungern veröffentliche, hier z.B. die Ausgabe wenn man das auf meinen Server versucht. Leicht abgeschnitten, musste das vom iPhone machen.

root@h1665859 ~ # telnet 85.214.157.236 80
Trying 85.214.157.236...
Connected to 85.214.157.236.
Escape character is '^]'.
GET / HTTP/1.1
Host: hisilome.de

HTTP/1.1 200 OK
Date: Wed, 27 Apr 2011 09:29:58 GMT
Server: Apache/2.2.16 (Debian)
Last-Modified: Tue, 02 Mar 2010 17:36:43 GMT
ETag: "3bdc073-3b9-480d4cf1c40c0"
Accept-Ranges: bytes
Content-Length: 953
Vary: Accept-Encoding
Content-Type: text/html; charset=UTF-8

<html>
<head>
<title>Hisilome.de - Service overview</title>
<head>
<body>
(rausgekürzt, da zu viel text)
</body>
</html>
Connection closed by foreign host.
 
Zuletzt bearbeitet:
Hey,danke Leute für die rege Beteiligung.
Der Server de Kumpels ist nicht sein Server ansich,sondern nur ein Wepspace bei http://www.kasserver.com/ wo auch noch seine Seite als Hauptseite läuft,ich habe lediglich ein Ordner auf dem Server mit meiner Page.
Dort kann ich auch Domains verwalten und meine eintragen,nur leider weiß ich nicht die IP der Servers,um die als A-Record einzutragen!Die Variante hatte ich auch schon in betracht gezogen!die .htacces zu bearbeiten, da hab ich bisher noch keinen sinn gesehen!?
 
In dem Fall fällt der A-Record wohl leider weg, da dein Freund dann keinen Einfluss auf die Virtual Host Konfiguration des Servers nehmen kann. Der Webserver wüsste dann mit dem Request nichts anzufangen und würde den ersten Vhost in der Konfiguration benutzen, was ziemlich sicher der falsche wäre.
Der nächstbeste weil ressourcenschonende Weg wäre über mod_proxy, aber eine ProxyPass Direktive ist nicht im .htaccess Kontext erlaubt. Somit fällt das wohl wieder raus, weil du keinen Einfluss auf die Vhost/Directory Einstellungen deines Hosters haben wirst.
Nächste Möglichkeit: mod_rewrite mit [p] (force proxy) flag in der RewriteRule Direktive. Damit solltest du den entfernten content auf deinen namespace mappen können. Das sollte im .htaccess Kontext gehen. Zumindest glaube ich dass hier das [p] flag sinnvolle wäre, ohne das jetzt selbst ausprobiert zu haben. Ein normaler Redirect dürfte immer den Wechsel der URL zur Folge haben, und das willst du ja nicht.

Ich würde sagen, lies dich mal hier ein: http://httpd.apache.org/docs/2.2/en/mod/mod_rewrite.html ;)
 
Soo,ich hab mich etwas eingelesen,ist ja ein riiiesiges Thema!
Leider hat bisher nichts funktioniert,hab folgendes probiert in der .htaccess:
Code:
RewriteEngine On
RewriteBase   /ct
RewriteRule   ^index\.html$   http://crunchtime-music.de$ [P]
Die .htaccess hab ich im root verzeichnis und im /ct verzeichnis geändert.
Weiß nicht ob das so nun richtig war,aber jedenfalls ändert sich nichts.Kann natürlich auch sein dass ich ein RewriteCond noch verwenden muss?
Meines erachtens müsste der Befehl ja bewirken,dass mein ursprüngliche Adresse als die neue angezeigt wird!?Ein Redirect wäre dann ja falsch.
Was vielleicht noch zu erwähnen wäre,die Homepage besteht lediglich aus einer Seite!
der direktlink: http://v111815.dd3108.kasserver.com/ct/index.html
die domain: www.crunchtime-music.de
Zur Zeit hab ich die Frameweiterleitung wieder aktiviert.
 
Zuletzt bearbeitet:
abseits vom basteltrieb...wie wäre es, einfach die 2,50€ im monat bei 1und1 zu zahlen für den webspace? ist nen halbes jahr gratis diese woche noch.
 
Shavaar, das klappt noch nicht ganz. Du hast da ein paar Sachen verdreht.
Die RewriteBase gilt für deine Domain, nicht den Direktlink. Da nach der Url ja nix kommen soll, müsstest du also RewriteBase / setzen, denke ich. Ausserdem ist deine RewriteRule falsch, du willst ja von der Domain auf den Direktlink mappen, nicht umgekehrt. Was du geschrieben hast würde bedeuten:

WENN ein Aufruf auf http://www.crunchtime-music.de/ct/index.html kommt,
DANN setze das um zu http://crunchtime-music.de

Das ist aber genau verkehrt. Wenn ich dich richtig verstanden habe dann willst du folgendes:

WENN ein Aufruf auf http://crunchtime-music.de kommt,
DANN setze das um zu http://v111815.dd3108.kasserver.com/ct
UND nimm per Backreference alles mit was eventuell hinter der Domain eingegeben wurde

Zuerst mal ein Beweis dass das wirklich funktioniert, ich habe mir das ganze testweise mal selbst gemappt: http://hithlum.de/test/

Wie man sieht bleibt dabei meine URL in der Browserzeile und wird nicht durch den Direktlink ersetzt.

Versuch mal folgendes:
Code:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*) http://v111815.dd3108.kasserver.com/ct/$1 [P]
 
Zuletzt bearbeitet:
Aaah ich werd verrückt,warum klappt es bei dir und bei mir aber nicht?
Hab den Befehl in meine .htaccess eingefügt. Aber sobald ich das änder und die Domain aufrufe,passiert gar nix,die Seite wird nicht aufgerufen!
Muss ich die .htaccess im root verzeichnis bearbeiten oder im unter ordner /ct ?(oder beides?)
Die Weiterleitung im 1und1 hab ich als HTTP Weiterleitung auf direkte Adresse http://v111815.dd3108.kasserver.com/ct/index.html gesetzt.
Nur nochmal zum Verständnis: ich möchte genau das was mit deiner test adresse passiert. sobald http://www.crunchtime-music.de/ aufgerufen wird,soll es auch in der Browserzeile angezeigt werden und da bleiben.
Irgendwas mach ich noch falsch, die .htaccess scheint ja zu greifen... :(
 
Weder noch ;)

Dein Problem ist wohl ein grundsätzliches, wenn du bei 1und1 wirklich nur die Domain allein hast, quasi ohne alles, d.h. nur über ein Webinterface verwaltbar (oder so), dann hast du effektiv verloren. Die .htaccess muss bei der Domain rein, auf dem Webspace deines Freundes ists bereits zu spät.
Dann versteh ich aber nicht wie du die obige Frameweiterleitung realisiert hast, oder vielleicht habe ich ein falsches Verständnis davon was du damit genau meinst.

Gib mir mal nen Link dazu was du seinerzeit bei 1und1 bestellt hast und erklär mir im Detail wie und wo du deine Weiterleitung bisher realisierst (gegebenfalls screenshots, falls das hilft... wenn sensible Daten drauf zu sehen sind kannst das ja schwärzen).

Konkret weiß ich nicht was du jetzt letztendlich zur Verfügung hast, auf der einen Seite sieht es aus als hättest du bei 1und1 nur die pure Domain, auf der anderen Seite als würde da noch was dazugehören.
 
Ja,also ich hab bei 1und1 die pure Domain,kein Webspce oder ähnliches. Im "Control Center" kann ich die Verwendungsart der Homepage ändern,einerseits auf HTTP Weiterleitung,sprich die Domain wird mit der Serveradresse angezeigt, andererseits die Frameweiterleitung, d.h. 1und1 gibt ein Standardframe vor,damit die Adresse in der Adresszeile bleibt.
Der sieht dann so aus:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

<html>
<head>
<title>CRUNCHTIME | Electro | House |</title>
<meta name="keywords" content="" />
<meta name="description" content="Finest Banging Electro" />
</head>
<frameset rows="100%">
<frame src="http://v111815.dd3108.kasserver.com/ct/index.html" title="CRUNCHTIME | Electro | House |" frameborder="0" noresize="noresize"/>
<noframes>
<body>
<h1>CRUNCHTIME | Electro | House |</h1>
<p><a href="http://v111815.dd3108.kasserver.com/ct/index.html">http://crunchtime-music.de/</a></p>
</body>
</noframes>
</frameset>
</html>
Diesen kann ich leider nur über das Control Center,in der Meta-Beschreibung und Titel beinflussen.Mehr ist leider nicht mglich.
Ich glaub ich muss mich wohl oder übel damit abfinden oder den Domainhoster wechseln...
 

Anhänge

  • 1und1.jpg
    1und1.jpg
    31,6 KB · Aufrufe: 162
  • 1und1 2.jpg
    1und1 2.jpg
    43,2 KB · Aufrufe: 138
Zurück
Oben