更新

更新

我有问题.... :D 如何在 64 位 W7 上创建虚拟主机????在 32 位中,只需添加例如

<VirtualHost localhost/Story>
<Directory "C:/xampp/htdocs/Story/public">
Options FollowSymLinks
AllowOverride All
</Directory>

DocumentRoot C:/xampp/htdocs/Story/public
ServerName localhost/Story
CustomLog C:/xampp/htdocs/Story/log combined
</VirtualHost>

在主机的 system32 中: 127.0.0.1 localhost/Story

但在 64 位中它被忽略了 :/ 我该怎么办?


好的,更多详细信息:

在我的 apache conf 文件中我有:

<VirtualHost localhost/Story>
<Directory "C:/xampp/htdocs/Story/public">
Options FollowSymLinks
AllowOverride All
</Directory>

DocumentRoot C:/xampp/htdocs/Story/public
ServerName localhost/Story
CustomLog C:/xampp/htdocs/Story/log combined
</VirtualHost>

在我的 C:\Windows\System32\drivers\ect\hosts 中 127.0.0.1 localhost/Story

在我的 Netbeans 项目中设置了运行路径:

http://localhost/Story/

所以我认为现在如果我运行我的项目,他将使用这个配置的 localhost/Story 虚拟主机,并应自动将我的应用程序重定向到 C:/xampp/htdocs/Story/public,因为我已在 httpd.conf 文件中配置了这个虚拟主机。我说得对吗?

在我的另一台笔记本电脑上,该配置是 32 位系统,当我写入:localhost/Story 时,我的应用程序正在运行,因为此虚拟主机将其重定向到公共文件夹。在 64 位系统上,当我写入 localhost/Story 时,我只看到文件树,这意味着我的虚拟主机无法正常工作 :/ 但我不明白为什么 :/

答案1

如果,绝对如果,这曾经起作用,那它绝对无效。localhost/story 不是有效的主机名,配置也无效,因为 apache 文档指出该指令接受一个参数地址可以是:

  • 虚拟主机的IP地址;
  • 虚拟主机 IP 地址的完全限定域名;
  • 字符 *,仅与 NameVirtualHost * 结合使用,以匹配所有 IP 地址;或
  • 字符串_default_,仅用于IP虚拟主机捕获不匹配的IP地址。

您正在使用包含路径但省略了协议的 URI。

更新

关于以上几点,你应该清楚地看到,要么你犯了一个奇怪的错误,要么你可能没有完全理解 HTTP(尤其是 HTTP/1.1)和虚拟主机的概念。你可能甚至错过了一些关于网络基础知识的要点。

这没问题,因为有很多很好的资源可以学习。什么可能有效(至少应该是有效的):

NameVirtualHost *

<VirtualHost localhost>
    <Directory "C:/xampp/htdocs/Story/public">
       Options FollowSymLinks
       AllowOverride All
    </Directory>

    DocumentRoot C:/xampp/htdocs/Story/public
    ServerName localhost
    CustomLog C:/xampp/htdocs/Story/log combined
</VirtualHost>

相关内容