johann1949
Goto Top

Splitten von Besuchern auf der Homepage?

Dieses Problem konnte ich bisher nicht klären und brennt mir auf den Fingernägeln

Ist es technischmachbar wenn man die Zugangsdaten für den Server hat auftreffende Besucher auf zwei Domains zu splitten??

Content-Key: 153076

Url: https://administrator.de/contentid/153076

Printed on: April 25, 2024 at 02:04 o'clock

Member: maretz
maretz Oct 14, 2010 at 16:30:52 (UTC)
Goto Top
whow - is heut der Tag der fehlenden Begrüßung? Falls nein - zur Info: Ein "Hallo" am Anfang des Postings ist schon gern gesehen...

Und ja - es ist möglich... Sowas nennt sich load-balancer....
Member: mkrasselt1
mkrasselt1 Oct 15, 2010 at 06:43:24 (UTC)
Goto Top
Ich hab das anderes gemacht.
eine der Webseiten ist direkt im hauptverzeichniss,
und die anderen, in einem Unterordner, mit schönem Namen/Numer
Wenn dann ein Besucher auf die Webseite geht, (standartmäßig index.php)
unterscheidet das Script nach der angeforderten Domain, und leitet entsprechend
in die Unterordner weiter. (per 301)
<?php
extract($_SERVER);
if($SERVER_NAME == 'examplewebseite1.de'){  
     $url = "http://examplewebseite1.de/Example";  
      header('Location: '.$url.'/');  
      exit;    
}
if($SERVER_NAME == 'shoppage.com'){  
      $url = "http://shoppage.com/shop";  
      header('Location: '.$url.'/');  
      exit;    
}
//rest
?>
Member: maretz
maretz Oct 15, 2010 at 07:03:13 (UTC)
Goto Top
igitt - warum macht man das denn?

Dafür gibt es doch bei Apache extra die name-based virtual hosts ...
Member: johann1949
johann1949 Oct 15, 2010 at 09:09:52 (UTC)
Goto Top
Hallo Maretz,

tut mir leid das ich die Begrüßung weglies aber hier ist es
das erste mal das es auffällt.
Member: mkrasselt1
mkrasselt1 Oct 15, 2010 at 09:18:55 (UTC)
Goto Top
das mache ich weil virt hosts bei mir iwie immer einen anderen port brauchen, und ich nur einen port 80
weiterleiten kann,deswegen mache ich das mit unterordnern.
Funz ja auch.

Michael
Member: maretz
maretz Oct 15, 2010 at 09:33:52 (UTC)
Goto Top
moin,

es gibt zwei arten von Virtual Hosts. Einmal port-Based (die brauchen immer unterschiedliche ports - das ist richtig) und einmal name-based -> da läuft das über den DNS-Namen alles über denselben Port...

Das über die V-Hosts zu lösen hat den Vorteil das du nen Backup machen kannst: Du hast einen Default-Host -> trifft dein name (aus welchem grund auch immer) nicht zu dann gibts den default-host...
Member: mkrasselt1
mkrasselt1 Oct 15, 2010 at 10:02:09 (UTC)
Goto Top
weils ja zu thema gehört, das ist meine
httpd-vhosts.conf
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about  
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host  
# configuration.

#
# Use name-based virtual hosting.
#
##NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
##<VirtualHost *:80>
    ##ServerAdmin postmaster@dummy-host.localhost
    ##DocumentRoot "C:/xampp/htdocs/dummy-host.localhost"  
    ##ServerName dummy-host.localhost
    ##ServerAlias www.dummy-host.localhost
    ##ErrorLog "logs/dummy-host.localhost-error.log"  
    ##CustomLog "logs/dummy-host.localhost-access.log" combined  
##</VirtualHost>

##<VirtualHost *:80>
    ##ServerAdmin postmaster@dummy-host2.localhost
    ##DocumentRoot "C:/xampp/htdocs/dummy-host2.localhost"  
    ##ServerName dummy-host2.localhost
    ##ServerAlias www.dummy-host2.localhost
    ##ErrorLog "logs/dummy-host2.localhost-error.log"  
    ##CustomLog "logs/dummy-host2.localhost-access.log" combined  
##</VirtualHost>
Wie müste jetzt so ein host aussehen ?
so ?
<VirtualHost neuerhost.meinehomepage.de:80>
    ServerAdmin info@neuerhost.meinehomepage.de
    DocumentRoot "C:/xampp/htdocs/unterordner"  
    ServerName neuerhost.meinehomepage.de
    ServerAlias www.neuerhost.meinehomepage.de
    ErrorLog "logs/neuerhost.meinehomepage.de.log"  
    CustomLog "logs/neuerhost.meinehomepage.de.log" combined  
</VirtualHost>

Ich weiß nicht, weil das hatte ich schonmal versucht

Michael
Member: maretz
maretz Oct 15, 2010 at 10:23:06 (UTC)
Goto Top
-> das ist die meine Konfig (etwas modifiziert). Damit hast du zwei Vhosts auf demselben Port (80), nur der Name entscheidet welche Seite nun angezeigt wird... Das muss dann natürlich im DNS auch so eingetragen werden (www.xxx.de und www.yyy.de zeigen auf dieselbe IP)

Gruß

Mike


NameVirtualHost *

<VirtualHost *>
ServerAdmin maretz@xxx.de
ServerName www.xxx.de
DocumentRoot /pfad/zum/verz/der/ersten/webseite
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /pfad/zum/verz/der/ersten/webseite>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

LogLevel warn

CustomLog /var/log/apache2/access.log combined

</VirtualHost>

<VirtualHost *>
ServerAdmin maretz@yyy.de
ServerName www.yyy.de
DocumentRoot /pfad/zum/verz/der/zweiten/webseite
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /pfad/zum/verz/der/zweiten/webseite>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

CustomLog /var/log/apache2/access.log combined
</VirtualHost>
Member: johann1949
johann1949 Oct 15, 2010 at 12:14:16 (UTC)
Goto Top
Hallo Mkrasselt1,

danke für Deine Antwort, muß mir aber erst einen "Übersetzer" suchen?!
Member: mkrasselt1
mkrasselt1 Oct 15, 2010 at 12:54:33 (UTC)
Goto Top
was meinst du ?
drück ich mich s undeutlich aus, oder meinst du den code ?
Member: johann1949
johann1949 Oct 15, 2010 at 13:19:38 (UTC)
Goto Top
Hallo Mkrasselt 1,

wollte damit nur sagen das ich das einfach nicht verstehe (Frischling)
Member: mkrasselt1
mkrasselt1 Oct 15, 2010 at 13:33:33 (UTC)
Goto Top
ok, ich erkläre mal.
Am einfachsten wäre wohl für dich der weg mit dem PHP.

Dazu benennst du die startdatei deiner webseite in index.php um.
Danach kopierst du den Code von oben in diese datei, aber ganz am Anfang.

Dort must du noch etwas ändern.
extract($_SERVER);
mit extrakt werden die sogennaten Variablen herrausgesucht.
Mit:
if($SERVER_NAME == 'examplewebseite1.de'){
wir eine alternativseite für examplewebseite1.de erstellt,
dass must du dann mit deiner 2. Webseite ersetzen.
Damit: $url = "http://examplewebseite1.de/Example";
wird die url festgelgt, an die weitergeleitet werden soll. dabei muss jedoch die
selbe adresse verwendet werden, wie oben. Und hintendrann noch der
Unterordner, den du für die zweite webseite angelegt hast.
Damit
header('Location: '.$url.'/');
wird die weiterleitung erzwungen
und damit exit;
die ausgabe weiterer seiteninhalte verhindert (der eigentlichen weseite)
Diese
}
Klammer beendet diese alternativseite.
// ?>
Beendet dieses PHP script.

Jetzt alles klar ?

Michael
Member: johann1949
johann1949 Oct 15, 2010 at 14:21:18 (UTC)
Goto Top
Hallo Michael,

zunächst vielen Dank für die Arbeit die Du Dir gemacht hast.
Werde mir das versuchen "rein zu ziehen"
Melde mich auf alle Fälle um zu sagen ob es mir gelang.

Liebe Grüße aus München

Hannes