Mit .htaccess ein Unterverzeichnis als Root-Verzeichnis festlegen [closed]

7

Gibt es eine Möglichkeit, mit htaccess ein Unterverzeichnis anzuweisen, das als Root für die gesamte Site fungiert?

Wenn ich zum Beispiel eine Website unter Ссылка hatte und in der Datei index.php hatte ich einen Verweis auf das Stylesheet mit dem folgenden Code ..

%Vor%

Könnte ich dann das /localhost/testsite/css/layout.css laden?

Um dieses Problem zu umgehen, richte ich localhost-Subdomains für jede Site ein, die zwar funktioniert, aber nicht ideal ist.

Vielen Dank.

    
Stibily 23.02.2012, 12:31
quelle

2 Antworten

20

Wenn Sie den 'href="/ css / layout.css"' Teil behalten möchten, dann können Sie eine Rewrite-Regel erstellen. Sie müssen nur aufpassen, dass Sie nichts umleiten, wenn Sie mit / testsite beginnen (oder Sie werden mit einer Schleife enden).

Wie (in root .htaccess):

%Vor%

Dort können Sie auf Ihre layout.css-Datei entweder von:

zugreifen

Ссылка

oder

Ссылка

    
huelbois 23.02.2012 12:57
quelle
3

Sicher, alle relativen URIs (wie Ihre) sind relativ zum Basis-URI, der standardmäßig der URI des Dokuments ist:

%Vor%

Sie müssen nur sagen, welcher Teil hinzugefügt werden soll:

%Vor%

Beispiel:

%Vor%

Wenn Sie dies modularer haben müssen, gibt es mehrere Möglichkeiten, dies zu tun. Eine besteht darin, den Basis-URI explizit innerhalb des HTML-Dokuments zu setzen (siehe <base> ).

Eine weitere Lösung besteht darin, Links relativ auf der Serverseite basierend auf dem Request-URI und dem Root-Pfad Ihrer Site aufzulösen. Ein Beispiel finden Sie diese Antwort .

    
hakre 23.02.2012 12:48
quelle