我已经使用 xampp 设置了我的虚拟主机。
我取消了文件中 vhosts 行的注释httpd.conf
,并在 vhosts 文档中添加了虚拟主机。网页文件位于我的 htdocs 文件夹中(htdocs 文件夹中每个页面有两个单独的文件夹,使用的是 Documents 文件夹,但存在权限错误)。
我也更改了 hosts 文件,但是当我尝试使用“http://页面名称.local' 我没有得到页面,而是得到了一个索引,上面写着:
Index of /
Name etc etc etc
pagename.local1
所以我相信它给我的是文件夹的索引而不是页面的索引?
我的 vhosts 配置如下:
<VirtualHost 127.0.0.1>
DocumentRoot C:/Users/xxxxxx/Documents/xampp/htdocs/pagename1
ServerName pagename1.local
</VirtualHost>
<VirtualHost 127.0.0.1>
DocumentRoot C:/Users/xxxxxx/Documents/xampp/htdocs/pagename2
ServerName pagename2.local
</VirtualHost>
另外,如果我单击索引中的 pagename1.local,它会带我到该页面并在其 URL 中显示:pagename1.local/pagename1.local
。
答案1
问题:
在cmd中执行以下操作时结果是什么?
ping pagename1.local
ping pagename2.local
如果这两个 ping 有效,那么这应该有效,如果不行,请查看 apache error.log
<VirtualHost *:80>
ServerName pagename1.local
ServerAlias pagename1.local
DocumentRoot "C:/Users/xxxxxx/Documents/xampp/htdocs/pagename1"
<Directory "C:/Users/xxxxxx/Documents/xampp/htdocs/pagename1">
Order deny,allow
Allow from all
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName pagename2.local
ServerAlias pagename2.local
DocumentRoot "C:/Users/xxxxxx/Documents/xampp/htdocs/pagename2"
<Directory "C:/Users/xxxxxx/Documents/xampp/htdocs/pagename2">
Order deny,allow
Allow from all
AllowOverride All
</Directory>
</VirtualHost>
答案2
是C:/Users/xxxxxx/Documents/xampp/htdocs/pagename1/pagename1.local
文件还是目录?
如果它是一个文件,请将其更改为index.html
(或无论您的文件DirectoryIndex
是什么)。
如果它是一个目录,请将您的位置更改DocumentRoot
为该目录或将其内容上移一级。