Heute hatten wir ein kurioses Problem mit einem Apache 2.2.22 Server.
Es ging um eine Domain, welche zwei Sub-Domains hat, wovon eine korrekt funktionierte und die andere nicht, sprich diese immer wieder zur Hauptdomain umleitete.
Der Aufbau der Verzeichnisstrucktur ist wie folgt:
/srv/www/webseite <- Hauptdomain www.muster.de
/srv/www/webseite/TEST <- Sub-Domain Nr. 1 test.muster.de
/srv/www/webseite/DEMO <- Sub-Domain Nr. 2 demo.muster.de
Der Nameserver ist korrekt konfiguriert:
muster.de. IN SOA ns1.nameserver.de. dns.ns.de. (
20170413
1800
3600
3600000
1800 )
muster.de. IN NS ns1.ns.de.
muster.de. IN NS ns2.ns.de.muster.de. IN A 80.80.80.80
www IN A 80.80.80.80
demo IN A 80.80.80.80
test IN A 80.80.80.80
ftp IN CNAME ftp.ns.de.mail IN CNAME mail.ns.de.
muster.de. IN MX 10 mx1.ns.de.
muster.de. IN MX 20 mx2.ns.de.
Und auch der Apache war korrekt konfiguriert:
<VirtualHost 80.80.80.80:80>
ServerName www.muster.de
ServerAlias muster.de
ServerAdmin webmaster@ns.deDocumentRoot /srv/www/webseite
ScriptAlias /cgi-bin/ „/srv/www/cgi/“CustomLog /var/logs/www/www.muster.de_combined_access.log combinedio
ErrorLog /var/logs/www/www.muster.de_error.log</VirtualHost>
<VirtualHost 80.80.80.80:80>
ServerName demo.muster.de
ServerAdmin webmaster@ns.deDocumentRoot /srv/www/webseite/DEMO
ScriptAlias /cgi-bin/ „/srv/www/cgi/“CustomLog /var/logs/www/www.muster.de_combined_access.log combinedio
ErrorLog /var/logs/www/www.muster.de_error.log</VirtualHost>
<VirtualHost 80.80.80.80:80>
ServerName test.muster.de
ServerAdmin webmaster@ns.deDocumentRoot /srv/www/webseite/TEST
ScriptAlias /cgi-bin/ „/srv/www/cgi/“CustomLog /var/logs/www/www.muster.de_combined_access.log combinedio
ErrorLog /var/logs/www/www.muster.de_error.log</VirtualHost>
Zum Test lag in den beiden Unterverzeichnissen DEMO und TEST jeweils eine Datei test.html!
Der Aufruf test.muster.de/test.html erfolgte korrekt, sprich in der Webbrowser-Adress-Zeile stand dann auch noch test.muster.de/test.html und im Apache Log:
200.200.200.200 - - [13/Apr/2017:14:20:23 +0200] "GET /test.html HTTP/1.1" 200 24 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36" 439 491
Im Gegensatz zum Aufruf demo.muster.de/test.html, denn hier erfolgte eine 301-Weiterleitung nach www.muster.de/DEMO/test.html, was dann auch in der Webbrowser-Adress-Zeile angezeigt wurde und im Apache Log folgendes stand:
200.200.200.200 - - [13/Apr/2017:15:09:07 +0200] "GET /test.html HTTP/1.1" 301 203 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36" 421 658
200.200.200.200 - - [13/Apr/2017:15:09:07 +0200] "GET /DEMO/test.html HTTP/1.1" 200 24 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36" 443 491
Leider konnte mir Google & Co. hier nichts wirklich weiterhelfen, so das ich begann, die beiden Verzeichnisse vom Inhalt her zu vergleichen.
Die Lösung lag in der fehlenden .htaccess Datei im Verzeichniss /srv/www/webseite/DEMO
Vom TEST-Verzeichniss die Datei .htaccess ins DEMO-Verzeichniss kopiert und es lief sofort. Warum ist mir zwar nicht ganz klar und für einen entsprechenden Kommentar wäre ich auch dankbar aber ich hoffe zumindest anderen mit dem gleichen Problem weiterhelfen zu können.