最近在Windows机器上使用WAMP服务器搭建服务器环境。一切正常,但我有一个小问题:每个人都可以访问 wampserver 主页,因此他们可以看到托管在同一服务器、服务器文件系统等中的其他网页。
网页的 URL 格式如下:hostname/project1
, hostname/project2...
主要问题是,任何人都可以看到所有项目通过转到主机名的方向进行托管,因为这将导致 wampserver 主页,我更希望只能在 Windows 主机的本地主机中访问该主页。有什么办法吗?我猜我需要修改配置文件中的一些参数,但我不知道哪些是......
最佳答案
如果您打算阻止外部访问对这台计算机上托管的所有站点的访问,您可以在位于 <installation drive>/wamp/bin/apache/Apache<version number>/conf/httpd.conf
的主 apache 配置文件中执行此操作. .htaccess 更适用于每个站点的配置,但如果将它放在主 www 目录中,它肯定会起作用。
要禁止外部访问 www 文件夹(默认打开),请找到 apache 配置文件的一部分(如上所示的路径):
<Directory "<installation drive>/wamp/www">
# There will be comments here and some options like FollowSymLinks and AllowOverride
Order Allow,Deny
Allow from all
</Directory>
并将其更改为:
<Directory "<installation drive>/wamp/www">
# There will be comments here and some options like FollowSymLinks and AllowOverride
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
如果您的目标不是阻止外部访问您的所有网站,那么了解更多有关您的设置的信息会有所帮助。如果您的目标只是阻止“localhost”页面并仍然允许访问“localhost/site1”,那么这个问题可能与 this 重复.
编辑: 正如您所指出的,我链接的问题没有很好的解决方案。假设您在 webroot 的子文件夹中将公共(public)站点设置为虚拟主机,例如:
|-wamp_root
|-www
|-vhosts
|-public_site_1
|-public_site_2
然后您可以返回到您的 httpd.conf 并将其添加到您的/wamp/www/规则下方:
<Directory "<installation drive>/wamp/www/vhosts/">
# There will be comments here and some options like FollowSymLinks and AllowOverride
Order Allow,Deny
Allow from all
</Directory>
这将允许 www 文件夹中的任何内容只能在本地访问,而 vhosts 子文件夹中的任何内容都可以在外部访问。再次强调,每当您更改此文件时,请记住重新启动 Apache。
关于wampserver 主页只能从本地主机可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14727331/