Hallo, ich bin grade dabei, von einem (funtionierenden) suse8.1 mit apache 1.3.26 auf ein suse10.0 mit apache2 2.0.54 umzuziehen, ich benutzte apache-prefork. Das System hat mehrere Virtual hosts auf derselben IP-Adresse. Ich habe die alte virtualhosts.conf per script in Einzeldateien zerlegt, die jetzt in /etc/apache2/vhosts.d mit der Endung .conf liegen. Diese sehen wie unten aus (Beispiel 1.conf=mytest.de, 2.conf=www.pfurz.mytest.de, da sind noch eine Handvoll weitere .conf-Dateien, aber alle in demselben Stil, auch andere sld mytest.de). IP-Adresse<->fqn am Client in die /etc/hosts eingetragen, die Domains durchgebrowsed, alle nehmen die erste .conf-Datei, also in diesem Fall mytest.de. Ich habe auch mit telnet http gesprochen, von Hand die Host:-Zeile eingegeben und gleichzeitig mit strace den Apache-Prozess getraced, es kommt etwa folgendes raus: telnet 21x.1x.1xx.6x 80 Trying 21x.1x.1xx.6x... Connected to 21x.1x.1xx.6x. Escape character is '^]'. GET / HTTP/1.1 Host: www.pfurz.mytest.de HTTP/1.1 200 OK Date: Wed, 01 Feb 2006 15:43:00 GMT Server: Apache/2.0.54 (Linux/SUSE) Last-Modified: Fri, 17 Jan 2003 00:35:00 GMT ETag: "35145-5a-57ec5500" Accept-Ranges: bytes Content-Length: 90 Content-Type: text/plain [..] mit lsof -P | grep IPv die pid ermittelt, mit strace -p <pid> attached, und es kam sowas raus: 23683 poll([{fd=366, events=POLLIN, revents=POLLIN}], 1, 300000) = 1 23683 read(366, "Host: www.pfurz.mytest.de\r\n", 8000) = 27 23683 poll([{fd=366, events=POLLIN, revents=POLLIN}], 1, 300000) = 1 23683 read(366, "\r\n", 8000) = 2 23683 stat64("/kunden/www1/test01/neumytest.de/", {st_mode=S_IFDIR|0751, st_size=184, ...}) = 0 23683 lstat64("/kunden", {st_mode=S_IFDIR|0755, st_size=96, ...}) = 0 23683 lstat64("/kunden/www1", {st_mode=S_IFDIR|0755, st_size=816, ...}) = 0 23683 lstat64("/kunden/www1/test01", {st_mode=S_IFDIR|0711, st_size=1328, ...}) = 0 23683 lstat64("/kunden/www1/test01/neumytest.de", {st_mode=S_IFDIR|0751, st_size=184, ...}) = 0 23683 open("/kunden/www1/test01/neumytest.de/.htaccess", O_RDONLY) = -1 ENOENT (No such file or directory) Also eindeutig: er bekommt den richtigen vhost aber versucht nichtmal, ins richtige Directory zu gehen. apachectrl sagt aber, die vhosts existieren. apache2/virthosts# apache2ctl -S |& grep mytest mytest.de (/etc/apache2/vhosts.d/1.conf:1) www.mytest.de (/etc/apache2/vhosts.d/2.conf:1) www.pfurz.mytest.de (/etc/apache2/vhosts.d/3.conf:1) Ist eventuell der Fehler bekannt bzw. weiss jemand eine Lösung oder einen Workaround? Viele Grüße, Florian ----------------------------- Configs der Virtual Hosts: ######### 1.conf ############# <VirtualHost *> DocumentRoot /www/test01/neumytest.de ServerName mytest.de ErrorLog /www/test01/neumytest.de/log/mytest.de/error-log CustomLog /www/test01/neumytest.de/log/mytest.de/access-log combined HostnameLookups Off UseCanonicalName Off ServerSignature On <Directory /www/test01/neumytest.de> Options -FollowSymLinks +SymLinksIfOwnerMatch AllowOverride Limit AuthConfig FileInfo </Directory> AccessFileName .htaccess DirectoryIndex index.cgi index.html index.htm start.html start.htm index.php3 index.php4 index.php index.xhtml ScriptAlias /cgi-bin /www/test01/neumytest.de/cgi-bin/ RLimitCPU 300 RLimitMEM 64000000 SuexecUserGroup test01 www </VirtualHost> ######### 3.conf ############# <VirtualHost *> DocumentRoot /www/test01/mytest.de/www.pfurz ServerName www.pfurz.mytest.de ErrorLog /www/test01/mytest.de/www.pfurz/log/www.pfurz.mytest.de/error-log CustomLog /www/test01/mytest.de/www.pfurz/log/www.pfurz.mytest.de/access-log combined HostnameLookups Off UseCanonicalName Off ServerSignature On <Directory /www/test01/mytest.de/www.pfurz> Options -FollowSymLinks +SymLinksIfOwnerMatch AllowOverride Limit AuthConfig FileInfo </Directory> AccessFileName .htaccess DirectoryIndex index.cgi index.html index.htm start.html start.htm index.php3 index.php4 index.php index.xhtml ScriptAlias /cgi-bin /www/test01/mytest.de/www.pfurz/cgi-bin/ RLimitCPU 300 RLimitMEM 64000000 </VirtualHost>