Php 通过WAMP的所有本地主机页面被阻止?

Php 通过WAMP的所有本地主机页面被阻止?,php,html,wamp,firewall,windows-firewall,Php,Html,Wamp,Firewall,Windows Firewall,我一直在试图修复一个奇怪的403禁止错误,当我试图通过本地主机上的WAMP访问我的一个页面时,我遇到了这个错误 在添加了一条通过apache使用的Windows防火墙打开端口80的规则后,我注意到这并不能解决我的问题,而是通过localhost为我的所有页面提供了403禁止 删除我刚刚制定的规则(这导致了这一点)并不能修复它。禁用Windows防火墙并不能解决此问题。重新启动计算机并不能修复它。有什么想法吗 编辑2: 我可以访问localhost/phpmyadmin获取任何有价值的东西 EDI

我一直在试图修复一个奇怪的403禁止错误,当我试图通过本地主机上的WAMP访问我的一个页面时,我遇到了这个错误

在添加了一条通过apache使用的Windows防火墙打开端口80的规则后,我注意到这并不能解决我的问题,而是通过localhost为我的所有页面提供了403禁止

删除我刚刚制定的规则(这导致了这一点)并不能修复它。禁用Windows防火墙并不能解决此问题。重新启动计算机并不能修复它。有什么想法吗

编辑2: 我可以访问localhost/phpmyadmin获取任何有价值的东西

EDIT3:my httpd.conf的内容:
尝试更改httpd.conf中的行

Allow from 127.0.0.1 

请参阅您的“全部拒绝”是导致403错误的原因。您发布的设置用于阻止所有流量,目的是稍后允许特定流量。如果你不允许特定的流量,你将永远无法让它工作

对于404错误,请确保使用了正确的路径,并且apache错误日志中没有错误


在httpd.conf中,找到以下部分并确保它们是正确的:

DocumentRoot“C:/wamp/www”


选项无
不允许超限
命令拒绝,允许
全盘否定
选项无
允许超越所有
命令允许,拒绝
通融
这些是我在安装中使用的设置,它们工作正常。如果进行了任何更改,请确保重新启动Apache

如果仍然存在问题,请使用httpd.conf更新原始问题


编辑:

这是kludgey,我只是想抓住这里的救命稻草,但请尝试在vhosts中添加一个新条目:

<VirtualHost *:80>
    DocumentRoot "C:/wamp/www"
    ServerName localhost
</VirtualHost>

DocumentRoot“C:/wamp/www”
服务器名本地主机

这可能是一个ipv6问题。因此,在httpd.conf中添加ipv6本地地址:

更改:

Allow from 127.0.0.1
致:


Marco Tamanti解决方案为我工作:

Allow from 127.0.0.1
Allow from ::1:
因此,我:

<Directory "c:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1:
</Directory>

选项索引跟随符号链接
允许超越所有
命令拒绝,允许
全盘否定
允许从127.0.0.1开始
允许来自::1:

简单的解决方案。只要以管理员身份运行Wamp安装文件,它们就会像一个符咒一样工作:)

启动Wamp后,我发现对我有效的是,左键单击任务栏上显示的Wamp图标,然后单击“快速管理”下的“启动所有服务”。然后我可以使用IE访问localhost。我甚至返回到httpd.config文件并将其设置回默认值


希望这有帮助。

您需要3个步骤,请确保这3件事

1.

首先 端口80和443必须同时允许TCP和UDP数据包。为此,在Windows防火墙上为端口80和443的TPC和UDP创建2个入站规则。 (或者您可以禁用整个防火墙进行测试,但如果允许入站规则,则禁用永久解决方案)

2.

如果您使用的是WAMPServer 3,请参阅答案的底部 对于WAMPServer的WAMPServer版本,有一个为
localhost
预定义的虚拟主机,因此根本不要修改
httpd.conf
文件,请保持原样

使用菜单编辑
httpd vhosts.conf
文件

应该是这样的:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

服务器名本地主机
DocumentRoot D:/wamp/www
选项+索引+跟随符号链接+多视图
允许超越所有
要求本地
修改为

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

服务器名本地主机
DocumentRoot D:/wamp/www
选项+索引+跟随符号链接+多视图
允许超越所有
要求所有授权
希望您已经为您的项目创建了一个虚拟主机,而不是为您的站点使用
wamp\www
文件夹。在这种情况下,不要使用localhost定义,只对虚拟主机进行更改

3.
进行此更改后,别忘了重新启动Wamp或Apache的所有服务

您要转到哪种页面?@anirudh:仅是存储在C:/Wamp/www/中的一个基本php页面,当我尝试通过localhost访问它时,我的www/文件夹中的每个页面都会给我一个403禁止/目录中是否有.htaccess文件?是否有您检查错误日志以检查apache对此错误的看法?在这里给我们一些可以处理的东西。您的
指令中很可能有
拒绝所有人的
。将其从所有更改为
allow
或从127.0.0.1更改为
allow应该可以解决此问题。我也提交了一个答案。在我的httpd.conf中,任何一行有任何“允许”语句的都是“所有人都允许”。我不想听起来很迟钝,但当你更改httpd.conf时,你是在重新启动Apache,让更改发生,对不对@Tory Waterman?@Matty:这肯定是一个经常发生的错误,但不幸的是,这种情况并非如此@阿尼鲁德:好吧,如果我这样做了,我怎么知道我在运行哪个WAMP实例?localhost/的任何地址与另一个副本都不会有歧义吗?这应该可以工作,因为php测试脚本在新安装的WAMP上可以完美地工作。@anirudh:重新安装。仍然是403.我不明白在httpd.conf中具体需要什么。我尝试了很多不同的变化,就像你提到的链接中的那个,但仍然没有,仍然是403。我的httpd.conf在我的OP中通过mediafire链接到。我将您的确切httpd.conf放到了我的安装中,没有任何问题。你能发布你的httpd-vhosts.conf吗?试着把它放在MediaFire上,而不是它。@s992:给你。顺便说一句,刚刚重新安装了WAMP。。。仍然是403.vhosts文件看起来不错。将我的答案编辑为另一件事来尝试。请确保每次更改后都重新启动Apache。我自己解决了这个问题,因此作为一个脚注,我在不同的机器上安装了64位版本的wamp和32位版本。32位的版本遇到了这个问题,但64位就可以了。似乎是德
<Directory "c:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1:
</Directory>
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
#   onlineoffline tag - don't remove
    Order Allow,Deny
      Allow from all
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>