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.
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:
zugreifenoder
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 .