PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Virtual host per localhost?



Lett
05.01.06, 08:55
Hallo allerseits,
ich habe folgendes Problem:

Ich habe ein PHP-Skript, welches den Befehl fsockopen verwendet. Das Script wird vom Server (z.B. www.domain.ch) auf sich selbst angewendet:


fsockopen ("www.domain.ch", 80, $errno, $errstr, 30);

Zuerst kannte er seine eigenen Domains nicht, worauf mir die Idee kam, dass es evtl. noch schlau wäre, die eigenen Domains in /etc/hosts einzutragen :)
Nun kennt er zwar die Domains, leitet aber nicht korrekt über die Vhosts weiter. Der Vhost wäre z.B.


<VirtualHost 10.0.0.17:80>
ServerName www.domain.ch:80
ServerAdmin webmaster@domain
DocumentRoot /var/www/webX/web
ServerAlias www.domain.ch domain.ch ftp.domain.ch subdomain.domain.ch subdomain2.domain.ch subdomain3.domain.ch
DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
ScriptAlias /cgi-bin/ /var/www/webX/cgi-bin/
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
ErrorLog /var/www/webX/log/error.log


Er leitet aber lustigerweise wenn ich z.B. über links2 www.domain.ch gehe auf /var/www/apache2-default um, obwohl www.domain.ch ja auf /var/www/webX/web zeigt und /var/www/apache2-default ist nirgends (weder in den Vhosts.conf, noch httpd.conf) definiert.

Bei dem System handelt es sich um ein Debian 3.1 mit Apache2 und ISPConfig. Hat jemand eine Ahnung, was hier falsch läuft?

EDIT: Ich habe die Logs durchgesehen, aber nichts verdächtiges gefunden. Im error.log steht nichts drin und im access.log bestätigt er die Weiterleitung nochmals:


127.0.0.1 - - [05/Jan/2006:09:06:52 +0100] "GET / HTTP/1.1" 302 390 "-" "Links (2.1pre16; Linux 2.4.32 i686; 80x24)"
127.0.0.1 - - [05/Jan/2006:09:06:52 +0100] "GET /apache2-default/ HTTP/1.1" 200 1457 "-" "Links (2.1pre16; Linux 2.4.32 i686; 80x24)"

Vielen Dank und Gruss

marce
05.01.06, 11:16
bei dem lokalen Test von Namebased Virt. Hosts bist Du darauf angewiesen, dass der Client in der http-Anfrage den Servernamen im http-Header korrekt mitliefert (wie die exakte Bez. lautet findest Du in der Apache-Doku) - und das ist über die einfache hosts-Auflösung m.W. nicht so...

Lett
05.01.06, 11:32
Ach so ok, dann müsste ich theoretisch das script ändern damit das geht und im die URL manuell übergeben. Dies ist aber ja nicht möglich da ich ohne Virtual Host gar nicht in das entsprechende Verzeichnis komme. Gibt es da eine Möglichkeit, dies zu umgehen, resp. einen entsprechenden header mitzuliefern?

marce
05.01.06, 12:02
hm, wget z.B. kann header-Werte setzen... - wie es da mit php und so aussieht, keine Ahnung...