WAMP 服务器 - localhost 仅显示目录列表
WAMP server - localhost displays directory listing only
对于 WAMP、apache 等,我完全是个新手
我正在尝试在本地建立一个 运行 站点,但到目前为止还没有成功。我已经安装了 WAMP,它似乎可以正常上网,即绿色 "W" 图标是绿色的。 phpmyadmin 之类的功能似乎正在运行。当我单击 "localhost" 时,它会打开浏览器并按照您的预期导航到本地主机,但是,我看到的只是目录列表。
所以,我的虚拟主机设置如下:
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/bts/BiteTheSun"
ServerName bts
ServerAlias bts
<Directory "c:/wamp/www/bts/BiteTheSun">
Require all granted
</Directory>
</VirtualHost>
在我的主机文件中我有:
127.0.0.1 localhost
127.0.0.1 bts
::1 bts
::1 localhost
我添加了一些图片只是为了清楚地说明问题 - 上面的图片显示了我认为我应该看到的内容,下面的图片显示了我实际看到的内容:
我想尽办法都没有用。在日志文件 [apache_error.log] 中提到我似乎收到与权限相关的错误也可能会有所帮助:
"AH01630: client denied by server configuration: C:/Apache24, referer: http://localhost/"
但是,我已经使用来自多个来源的示例检查了配置文件中设置的权限,似乎没有任何问题。
有人知道这里发生了什么吗?我在网上高低搜索了这个问题,还有一个似乎确实有这个问题,这让我觉得这是我在做一些非常愚蠢的事情——我只需要有人指出到底是怎么回事! :)
理查德
您的 www 文件夹中是否有索引文件?
通常,您希望将个人项目放在 www 文件夹中,并将虚拟主机指向 www/your-project/ 文件夹,该文件夹应包含 index.php 文件(除非您有自定义设置您要将虚拟主机直接指向特定文件的位置。
您的虚拟主机定义不完整。
每个 VH 都应该有自己的 <Directory>...</Directory>
定义,这样您就可以将访问权限和其他配置信息应用到该目录。
您缺少的部分是 AllowOverride
和 Options
。
另一件要记住的事情是,当您创建虚拟主机环境时,httpd.conf
文件中定义的主机基本上会被忽略,而 VH 将占据主导地位。这就是为什么你需要重新定义VH文件中的localhost
。
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName localhost
<Directory "c:/wamp/www">
AllowOverride All
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/bts/BiteTheSun"
ServerName bts
<Directory "c:/wamp/www/bts/BiteTheSun">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
您的 AH01630: client denied by server configuration: C:/Apache24
错误可能是因为默认的 httpd-vhost.conf
文件带有 Apache 提供的 2 个示例定义。这些应该从文件中完全删除。因此,如果您将这些留在 httpd-vhost.conf
文件中。从文件中完全删除它们。
要删除的 defs 示例。请注意,它们使用 c:/Apache24
目录,该目录在 WAMPServer 环境中不存在,也不应存在!
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
对于 WAMP、apache 等,我完全是个新手
我正在尝试在本地建立一个 运行 站点,但到目前为止还没有成功。我已经安装了 WAMP,它似乎可以正常上网,即绿色 "W" 图标是绿色的。 phpmyadmin 之类的功能似乎正在运行。当我单击 "localhost" 时,它会打开浏览器并按照您的预期导航到本地主机,但是,我看到的只是目录列表。
所以,我的虚拟主机设置如下:
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/bts/BiteTheSun"
ServerName bts
ServerAlias bts
<Directory "c:/wamp/www/bts/BiteTheSun">
Require all granted
</Directory>
</VirtualHost>
在我的主机文件中我有:
127.0.0.1 localhost
127.0.0.1 bts
::1 bts
::1 localhost
我添加了一些图片只是为了清楚地说明问题 - 上面的图片显示了我认为我应该看到的内容,下面的图片显示了我实际看到的内容:
我想尽办法都没有用。在日志文件 [apache_error.log] 中提到我似乎收到与权限相关的错误也可能会有所帮助:
"AH01630: client denied by server configuration: C:/Apache24, referer: http://localhost/"
但是,我已经使用来自多个来源的示例检查了配置文件中设置的权限,似乎没有任何问题。
有人知道这里发生了什么吗?我在网上高低搜索了这个问题,还有一个似乎确实有这个问题,这让我觉得这是我在做一些非常愚蠢的事情——我只需要有人指出到底是怎么回事! :)
理查德
您的 www 文件夹中是否有索引文件?
通常,您希望将个人项目放在 www 文件夹中,并将虚拟主机指向 www/your-project/ 文件夹,该文件夹应包含 index.php 文件(除非您有自定义设置您要将虚拟主机直接指向特定文件的位置。
您的虚拟主机定义不完整。
每个 VH 都应该有自己的 <Directory>...</Directory>
定义,这样您就可以将访问权限和其他配置信息应用到该目录。
您缺少的部分是 AllowOverride
和 Options
。
另一件要记住的事情是,当您创建虚拟主机环境时,httpd.conf
文件中定义的主机基本上会被忽略,而 VH 将占据主导地位。这就是为什么你需要重新定义VH文件中的localhost
。
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName localhost
<Directory "c:/wamp/www">
AllowOverride All
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/bts/BiteTheSun"
ServerName bts
<Directory "c:/wamp/www/bts/BiteTheSun">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
您的 AH01630: client denied by server configuration: C:/Apache24
错误可能是因为默认的 httpd-vhost.conf
文件带有 Apache 提供的 2 个示例定义。这些应该从文件中完全删除。因此,如果您将这些留在 httpd-vhost.conf
文件中。从文件中完全删除它们。
要删除的 defs 示例。请注意,它们使用 c:/Apache24
目录,该目录在 WAMPServer 环境中不存在,也不应存在!
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>