hi,
bisher hab ich in der .htaccess folgenden Code verwendet, um das "www." aus dem Domainnamen zu "entfernen":
RewriteCond %{HTTP_HOST} ^www.domain.de$ [NC]
RewriteRule ^(.*) http://domain.de/$1 [R=301,L]
Das Ganze klappte bisher hervorragend.
Jetzt hab ich aber - aus Sicherheitsgründen - bestimmte Dateien außerhalb des Webs verschoben, d. h. das Serverstartverzeichnis, das beim Aufruf der Homepage geladen wird, lautet jetzt nicht mehr user/homepages/u123, sondern user/homepages/u123/web. Die .htaccess und eben andere sicherheitsrelevante Dateien befinden sich aber nach wie vor im Verzeichnis user/homepages/u123.
Beim Aufruf von http://domain.de/datei funktioniert alles wunderbar, aber beim Aufruf von http://www.domain.de wird durch obigen Code versucht, auf http://domain.de/web/ weiterzuleiten, was natürlich Quatsch ist und eine Fehlermeldung erzeugt, da es ja ein solches Verzeichnis nicht gibt (physikalisch müsste es ja user/homepages/u123/web/web sein, also ein "web" unterhalb von "web").
Abhilfe bringt zwar das Weglassen des "$1" in der RewriteRule-Zeile, also
RewriteRule ^(.*) http://domain.de/ [R=301,L]
Nachteil ist aber, dass beim Aufruf von http://www.domain.de/datei.htm IMMER nur auf die Startseite http://domain.de/ verwiesen wird, statt auf http://domain.de/datei.htm.
Hat irgendjemand eine Idee, wie das behoben werden kann (außer die .htaccess nach user/homepages/u123/web zu verlegen)?
Diese ominöse Weiterleitung von .htaccess auf das (physikalische) nicht existierende Unterverzeichnis user/homepages/u123/web/web/ ist mir irgendwie ein Rätsel...