Ich möchte dies tun
<VirtualHost *>
ServerName myDomain.com
DocumentRoot /var/www/myDomain
<Directory /var/www/myDomain>
Rewrite on
RewriteRule ^blog/(.*)$ /var/www/myBlog/$1 [L]
</Directory>
</VirtualHost>
Also http://www.myDomain.com/blog/liest Dateien aus einem anderen Verzeichnis. Das obige funktioniert nicht, also wie kann ich das machen, ohne die Dateien zu verschieben?
Antwort1
Es ist nicht erforderlich, hierfür mod_rewrite zu verwenden. Aliasist besser geeignet.
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
Alias /blog /var/www/myBlog
Wenn Sie die Einstellungen nur für Ihr Blog ändern möchten, fügen Sie einStandortrichtlinie.
<Location /blog>
Allowoverride All
</Location>
Antwort2
Mach es so:
<VirtualHost *>
ServerName myDomain.com
DocumentRoot /var/www/myDomain
Alias /blog/ /var/www/myBlog/
</VirtualHost>
Antwort3
Location
Tags sind nur ein generischer Container für Apache-Direktiven. Verwenden Sie sie also, um alles zu „verpacken“, was Sie auf den Abschnitt „externe Ansicht“ der Website anwenden möchten. Sehr nützlich, wenn Sie Inhalte aus mehreren physischen Verzeichnissen in eine größere Struktur ziehen. Sie können denselben Regelsatz auf alle anwenden, anstatt mehrere Directory
Einträge zu haben.
Alias
Direktive ist eine einfache Umleitung, ideal für lange Pfade, die als kurze und übersichtliche Zeiger angezeigt werden.
DocumentRoot
Die Direktive legt das oberste Webinhaltsverzeichnis fest.
Sie alle befassen sich mit Verzeichnissen, aber sie sind alle ein bisschen unterschiedlich. „Location“ ist hauptsächlich für das zuständig, was ich die „Webansicht“ nennen würde – wie es von außen sichtbar ist. „Directory“ ist für die „physische Ansicht“ zuständig, die sich mit tatsächlichen Verzeichnissen im Dateisystem befasst. Wenn der Inhalt eines Verzeichnisses als eine URL ausgegeben wird, gibt es keinen funktionalen Unterschied zwischen ihnen.
Wenn Sie jedoch anfangen, mehrere Verzeichnisse zu „zusammenzustellen“ und sie über mehrere URLs bereitzustellen, die nicht unbedingt ihre Dateisystemhierarchie widerspiegeln, müssen Sie alle diese Anweisungen mischen und anpassen, um den gewünschten Effekt zu erzielen. Nur weil sich zwei Anweisungen in einer Situation gleich verhalten, bedeutet dies nicht, dass sie sich in einer anderen Situation genauso verhalten.