我正在寻找这样做
<VirtualHost *>
ServerName myDomain.com
DocumentRoot /var/www/myDomain
<Directory /var/www/myDomain>
Rewrite on
RewriteRule ^blog/(.*)$ /var/www/myBlog/$1 [L]
</Directory>
</VirtualHost>
所以 http://www.myDomain.com/blog/将从不同的目录读取文件。以上将不起作用,我怎样才能在不移动文件的情况下做到这一点?
无需为此使用 mod_rewrite 用户。 别名更适合。
如果您只想更改博客的设置,请添加location 指令。
像这样做:
Location
标签只是 Apache 指令的通用容器,因此使用它来“包装”您想要应用于网站“外部视图”部分的任何内容。如果您将内容从多个物理目录拉到一个更大的结构中,这非常有用,您可以将相同的规则集应用于所有目录,而不是拥有多个Directory
条目Alias
指令是一个简单的重定向,非常适合显示为短而整洁的指针的长路径。DocumentRoot
指令设置顶级 Web 内容目录。它们都处理目录,但它们都有点不同。位置主要用于处理我所说的“网络视图”——它是如何从外部看到的。目录用于处理文件系统上的实际目录的“物理视图”。如果一个目录的内容作为一个 URL 提供,那么它们之间就没有功能差异。
但是,一旦您开始“组合”多个目录,从多个 URL 中为它们提供服务,这些 URL 不一定反映它们的文件系统层次结构,您需要混合和匹配所有这些指令以获得所需的效果。仅仅因为两个指令在一种情况下的行为可能相同,并不意味着它们在另一种情况下的行为方式相同。