最近我在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 的子文件夹中的虚拟主机,例如:
|-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。
应该可以使用 Windows 防火墙阻止其他用户。 您还可以使用如下所示的 .htaccess 文件:
Order deny,allow
Deny from all
Allow from 127.0.0.1
您必须确保 apache 配置中的
AllowOverride
设置为 All
并且 .htaccess 也将应用于所有子目录,否则您的项目仍然可用。
看来(在我自己有点挠头之后),这个问题的答案很简单。
在 Windows 任务栏中,左键单击 WAMP 图标,然后单击“脱机”。
它似乎没有使整个网络服务器“离线”,只是根主页?并且您在 httpd.conf 文件中配置为可从外部访问的任何内容仍然有效,它们仍然可以访问。
注意:默认的 VHOST 仍然可以访问,例如 PHPINFO 和 PHPMYADMIN!
简单易用(WAMP SERVER 3.3.0,较早版本及以上)
只需进入您的 WAMP
www
目录并将 index.php
重命名为 indexx.php
,WAMP 主页就会被隐藏
并不难。
然后项目标题消失。