如何从 Apache .htaccess 创建虚拟主机?

Posted

技术标签:

【中文标题】如何从 Apache .htaccess 创建虚拟主机?【英文标题】:How to create Virtual Host from Apache .htaccess? 【发布时间】:2011-09-10 15:54:30 【问题描述】:

我在 Windows(本地服务器)中使用 Apache Friends XAMPP。我在这样的 Apache 配置目录中的 httpd-vhosts.conf 中设置了虚拟主机

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName test.example.com
    DocumentRoot "E:\xampp\htdocs\example"
</VirtualHost>

当我浏览 URL 时效果很好

http://test.example.com

是否可以从 Apache .htaccess 动态创建虚拟主机?

【问题讨论】:

【参考方案1】:

这似乎是不可能的。因为您的.htaccess 仅在您的主机被httpd.confapache2.conf 等服务器的根配置文件解析后使用。

简单来说,www目录或其子目录中的.htaccess只有在根配置文件处理完后才会被处理。

我的意思是你输入http://host.name,apache 会找到目的地并在需要时使用主机上的.htaccess 文件来执行一些操作。

【讨论】:

【参考方案2】:

VirtualHost 的上下文必须是 server config。请参阅Apache docs。

这意味着该指令可能是 在服务器配置文件中使用 (例如,httpd.conf),但不在任何 要么 容器。不允许进入 .htaccess 文件。

(Directive Dictionary)

【讨论】:

以上是关于如何从 Apache .htaccess 创建虚拟主机?的主要内容,如果未能解决你的问题,请参考以下文章