我有问题.... :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>