【问题标题】:apache not handling subdomains properly virtual hosts windowsapache没有正确处理子域虚拟主机窗口
【发布时间】:2023-12-11 02:13:01
【问题描述】:

我搜索了很多帖子并尝试了在 httpd.conf 中配置它的各种不同方式。

我在 Windows Server 2012 上使用 PHP 5.6 和 MySQL 运行 Apache 2.4。在亚马逊 EC2 实例上。我有所有正确的安全设置,并且我还在路由 S3 中正确设置了我的 dns 以指向我的 EC2,我的子域有 A 条目。主域 www.mydomain.com 工作正常并指向正确的位置 htdocs。但是我的子域没有映射到我定义如下的文件夹:

NameVirtualHost ip.ip.ip.ip:80      

<VirtualHost *:80>
    ServerName www.mydomain.com
    ServerAlias mydomain.com
    DocumentRoot c:/Apache24/htdocs
    DirectoryIndex index.php index.htm index.html
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot c:/Apache24/htdocs/sub1
    ServerName sub1.mydomain.com
    DirectoryIndex index.php index.htm index.html
    ErrorLog logs/sub1-error.txt
    CustomLog logs/sub1-access.txt common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot c:/Apache24/htdocs/phpMyAdmin
    ServerName phpmyadmin.mydomain.com
    DirectoryIndex index.php index.htm index.html
    ErrorLog logs/phpmyadmin-error.txt
    CustomLog logs/phpmyadmin-access.txt common
</VirtualHost>

非常感谢所有帮助。

我的 HOSTS 文件中也有这些条目

    ip.ip.ip.ip mydomain.com
ip.ip.ip.ip *.mydomain.com
ip.ip.ip.ip sub1.mydomain.com
ip.ip.ip.ip phpmyadmin.mydomain.com

ip.ip.ip.ip 是我服务器的公网 IP 地址。

【问题讨论】:

    标签: apache amazon-ec2 virtualhost


    【解决方案1】:

    您可以从阅读 Apache 2.4 here 的虚拟主机示例中的“使用 ServerPath 指令”部分开始(最后在 cmets 部分之前)。我现在没有尝试,但我过去曾使用该页面解决类似问题。由于它是 Apache,我不会复制任何内容,因为未来几年它可能会在同一个地址上......

    【讨论】:

      【解决方案2】:

      奇怪的是,我尝试了@Gillsoft AB 的解决方案。当我尝试重新启动 apache 时,它​​无法重新启动。然后我又回到了原来的位置。然后将每个&lt;VirtualHost *:80&gt; 更改为&lt;VirtuHost ip.ip.ip.ip:80&gt;,重新启动,这不起作用。然后我又回到了我第一次发帖时的样子,再次重新启动。现在它起作用了????

      【讨论】: