Zur Navigation

.htaccess im Stammverzeichnis auch gültig für Webspace-Unterverzeichnissen?

1 GötzM (Gast)

Hallo zusammen,

ich möchte in einem (1) 1&1-Hosting-Paket (mit 6 Inklusiv-Domains und 10 DBs) zwei unterschiedliche Websites hosten.

Die Erste (Contenido basiert) besteht schon ein paar Jahre und liegt direkt im Webspace=Stammverzeichnis "/" des Pakets (ja ja, ich weiß, dass das nicht so intelligent war ;)

Die zweite Website soll Wordpress basiert in einem Webspace=Unterverzeichnis "/neuesite" liegen (so als Domain-Verwendung im Control-Center eingestellt).

Jetzt krieg' ich die Wordpress-Installation (meine dritte, die beiden anderen in anderen Hosting-Paketen laufen problemlos) nicht ans Laufen. Schon die Installation schlägt fehl mit Internal Server Error 500. Die Auskunft vom 1&1 Support war, dass meine .htaccess einen Fehler hätte an einer Zeile, die in der .htaccess in dem betreffenden Webspace-Unterverzeichnis gar nicht existiert. Die neue .htaccess hält nur die beiden üblichen php5-Direktiven.

Deshalb meine Frage: Wird die Stammverzeichnis-htaccess auch geparst, obwohl der Webspace für die zweite Domain in einem Unterverzeichnis-Webspace liegt?

Wenn ja, wie kann das verhindert werden? Klar, eine Lösung wäre die erste Website auch in einen Unterverzeichnis-Webspace umzuziehen. Aber "never change a running system" ;)

Bin für jeden Tipp dankbar.

Götz

08.04.2012 12:24

2 Jörg Kruse

Deshalb meine Frage: Wird die Stammverzeichnis-htaccess auch geparst, obwohl der Webspace für die zweite Domain in einem Unterverzeichnis-Webspace liegt?

Die Direktiven einer htaccess Datei vererben sich auf alle darunter liegenden Verzeichnisse

Wenn ja, wie kann das verhindert werden? Klar, eine Lösung wäre die erste Website auch in einen Unterverzeichnis-Webspace umzuziehen

Das wäre die sauberste Lösung, ja. Ansonsten könntest du versuchen, die Direktiven in der htaccess Datei des Unterverzeichnisses wieder aufzuheben. Allerdings würde ich so eine Vorgehensweise nicht unbedingt empfehlen, da diese mitunter in einem Gefrickel ausarten kann, welches aber dennoch nicht immer alle Probleme löst, die man sich mit dem gemeinsamen Verzeichnis der beiden Domains einhandelt.

08.04.2012 14:42

3 GötzM (Gast)

Danke für die Rückmeldung und Bestätigung (meiner Befürchtung ;-)
Ich habe jetzt schon begonnen, den Umzug der alten Website aufzusetzen. Ist zwar auch eine Fummelei (läuft tw. schon, nur das Layout hat's in Form der Schriftgrößen durcheinander gehauen), dafür aber nachhaltiger. Und weil ich mich mit der "obersten" .htaccess-Datei etwas beschäftigen durfte, hab' ich auch rausgekriegt, warum die Wordpress-Installation fehlgeschlagen ist.

Danke für die zahlreichen Informationen in diesem Forum. Hab' ich mir als Anlaufstelle schon gebookmarkt. Eine gute Quelle ist oft besser als rumzugoogeln.

09.04.2012 18:47

... 6 Monate später ...

4 Jan

Zitat von Jörg

Die Direktiven einer htaccess Datei vererben sich auf alle darunter liegenden Verzeichnisse

Da ich da irgendwie noch immer verunsichert bin ;-) das bedeutet doch das ich alles was zentral in einer htaccess im Root definiere, z.B
order allow,deny
deny from xyz
etc.
ErrorDocument 403 "Zugriff nicht erlaubt!"
allow from all

Options -Indexes

Redirect Permanent abc xyz

... 

in allen Unterverzeichnissen Gültigkeit hat, es sei denn in einem der Unterverzeichnisse würde z.B eine oder auch mehrere der zentral festgelegten Einstellungen überschrieben. Alle nicht überschriebenen Bedingungen behalten dabei weiterhin ihre Gültigkeit.

Richtig ?

Definiere ich jetzt aber ein Unterverzeichnis als SubDomain, wie sieht es dann aus ? Für diese SubDomain würde doch dann das Unterverzeichnis als Root dieser SubDomain angenommen und nicht auf die Anweisungen der zentralen htaccess zurückgegriffen werden ? Oder irre ich da ?

Definiere ich in der zentralen htaccess im Root z.B:
RewriteCond %{REQUEST_URI} .*(Result:|nickname|\+POST|\+http:).* 
RewriteRule .* - [F,L]

sollte dies doch über alle Unterverzeichnisse hinweg gültig sein. Jeder Request der z.B das Wort "nickname" enthält wird mit einem 403er weitergeleitet.

Allerdings habe ich dann ein Unterverzeichnis in welchem ebenfalls Umschreibungen vorgenommen werden, z.B wird dort aus .php .html etc. Die vorgenannte Regel wirkt dort jedoch nicht, erst nachdem ich diese in die htaccess des betroffenen Verzeichnisses (wo ebenfalls umgeschrieben wird) kopiert habe, wirkt die Anweisung.

Weshalb ich ja auch über die zentrale Wirkungsweise von Anweisungen in der zentralen htaccess etwas verunsichert bin ;-) Ich hab da sicher etwas noch nicht recht verstanden, oder ?

Und gibt es eigentlich eine bestimmte Reihenfolge die man für die Abarbeitung einer htaccess beachten sollte ?

19.10.2012 12:25

5 Jörg Kruse

Mit der Definition des Verzeichnisses als DocumentRoot einer Subdomain hat das nichts zu tun, sondern mit der Eigenart der Vererbung von mod_rewrite Direktiven. Diese ersetzen mod_rewrite Direktiven übergeordneter Verzeichnisse vollständig, d.h. alle mod_rewrite Direktiven in übergeordneten htaccess Dateien werden dann für dieses Verzeichnis ignoriert.

Und gibt es eigentlich eine bestimmte Reihenfolge die man für die Abarbeitung einer htaccess beachten sollte ?

Zur Reihenfolge von mod_rewrite Direktiven hatte ich hier mal was geschrieben:

https://jkip.de/howtos/mod_rewrite-reihenfolge

19.10.2012 13:07 | geändert: 19.10.2012 13:07

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]