最近我使用 WAMP 服务器在Windows机器中设置服务器环境。一切都很好,但我有一点问题:每个人都可以访问wampserver主页,因此他们可以看到托管在同一服务器,服务器文件系统等中的其他网页。
网页的网址格式如下:hostname/project1
,hostname/project2...
主要问题是,任何人都可以通过转到主机名的方向查看托管的所有项目,因为这样做通往wampserver主页,我希望只能在windows主机的localhost中访问此主页。有没有办法做到这一点?我猜我需要修改配置文件中的一些参数,但我不知道哪些参数......
答案 0 :(得分:5)
如果您打算通过外部访问阻止访问此计算机上托管的所有站点,则可以在<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 / site1”,则此问题可能与this重复。
修改强> 正如你所指出的,对于我所链接的问题,没有一个好的解决方案。假设您将公共站点设置为webroot的子文件夹中的虚拟主机,如:
|-wamp_root
|-www
|-vhosts
|-public_site_1
|-public_site_2
然后你可以回到你的httpd.conf并在/ wamp / www / rule下面添加:
<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。
答案 1 :(得分:1)
应该可以使用Windows防火墙阻止其他用户。 你也可以使用像这样的.htaccess文件:
Order deny,allow
Deny from all
Allow from 127.0.0.1
您必须确保在apache配置中将AllowOverride
设置为All
,并且.htaccess也将应用于所有子目录,否则您的项目仍然可用。
答案 2 :(得分:0)
似乎(在myself了一下脑袋之后),这个问题的答案很简单。
在Windows任务栏中,左键单击WAMP图标,然后单击“置于离线状态”。
似乎没有使整个Web服务器“脱机”,仅使根主页有效?并且您在httpd.conf文件中配置为可从外部访问的任何内容仍然有效,它们仍然可以访问。
注意:尽管仍然可以使用默认的VHOST,例如PHPINFO和PHPMYADMIN!
答案 3 :(得分:-1)
这并不难。
然后项目标题消失。