如何从 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 创建虚拟主机?的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf 修改后的Symfony2 .htaccess文件,可以从Apache虚拟主机设置前端控制器(有点像Rails)。

如何将 .htaccess 规则/内容移动到虚拟主机?

htaccess编写规则

如何使用子域链接子目录? (虚拟主机、mod_rewrite、htaccess、DNS)

虚拟主机如何绑定网站根目录到子目录中

.htaccess基本语法和应用?(2012-11-09 16:13:47)转载▼