WAMP 403禁止在Windows 7上的消息

我已经在我的Windows 7机器上安装了WAMP 2.1版。 当我在浏览器中浏览本地主机时,WAMP服务器页面是可见的。

但是当我在浏览器中浏览我的IP时,我收到消息

403禁止:您无权访问/在此服务器上。

有什么build议么?

httpd.conf (Apache的configuration文件)中,除了127.0.0.1之外的地址,禁止访问Apache服务器:

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

您的PHPMyAdmin访问同样如此,configuration文件是phpmyadmin.conf

 <Directory "c:/wamp/apps/phpmyadmin3.4.5/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 </Directory> 

您可以将它们设置为允许来自所有IP地址的连接,如下所示:

 AllowOverride All Order allow,deny Allow from all 

我发现了一个更简单的修复…

虽然图标是绿色的WAMP仍然需要“放在线”(左键单击图标时的最后一项菜单)。

之后,我正常访问。

对我来说,包含“需要本地”帮助解决了错误403.别名configuration文件如下所示:

 Alias /mytest/ "C:/mytest/" <Directory "C:/mytest/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny Allow from all Require local </Directory> 

如果您可以从外部访问WAMP服务器,那么在httpd.conf中更改权限的解决scheme将起作用。

如果你不想这样做,那么你所要做的就是告诉windows“localhost”域指向127.0.0.1。 您可以通过编辑系统目录中的主机文件来完成此操作。

该文件位于:C:\ Windows \ System32 \ drivers \ etc \ hosts

默认情况下,Windows 7附带:

 # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 

您必须取消注释localhost的映射:

 # localhost name resolution is handled within DNS itself. 127.0.0.1 localhost # ::1 localhost 

注意:您将无法将主机文件编辑为只读文件。 要编辑,您必须是pipe理员,将文件复制到其他位置,编辑它,然后将其复制回etc目录。

我不build议更改hosts文件。 使用httpd.conf文件的权限。 仅当您不希望从外部访问服务器时,请使用hosts文件方法。

另一件事我发现,如果您的networking适配器使用IPV6,它不会显示为127.0.0.1,但:: 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> 

您的PHPMyAdmin访问同样如此,configuration文件是phpmyadmin.conf:

 <Directory "c:/wamp/apps/phpmyadmin3.4.5/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from ::1 </Directory> 

尝试将以下代码行添加到文件httpd-vhosts.conf中:

 <VirtualHost *:80> ServerAdmin serveradmin@host.com DocumentRoot "C:\wamp\www" ServerName localhost </VirtualHost> 

如果你已经使用localhost / phpmyadmin /

简单地使用

PHPMyAdmin的127.0.0.1/phpmyadmin/

127.0.0.1/sqlbuddy/ for SQLBuddy

或者你已经使用localhost:8080 / phpmyadmin /那么

PHPMyAdmin为127.0.0.1:8080/phpmyadmin/

127.0.0.1:8080/sqlbuddy/ for SQLBuddy

请记住删除httpd-vhosts.conf中的虚拟元素

 <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> 

这个问题可能有很多原因

我所经历的是:
1) 127.0.0.1 localhost条目被复制到主机文件中
2)Apache mod_rewrite没有启用

无论原因如何, 备份您的www文件夹,vhostconfiguration文件(和httpdconfiguration文件)将有所帮助。 而这样的过程需要几分钟的时间。

祝你好运

我读&试过所有修复,但没有一个工作。 最后我发现Wamp服务器标志是绿色的,但需要“在线”。 检查您的PHPMyAdmin.CofgHttPD.cofg后,如此简单&快速修复只需点击PUT ONLINE

对于Apache版本 2.4.x,简单地将Require localreplace为<Directory "c:/wamp/www/">标签内的httpd.conf文件中的Require all granted ,然后重新启动所有服务

我试过上面的configuration,只有这对我的WAMP Apache 2.4.2configuration工作。 对于Windows主机文件中没有命名域的多个根站点,请使用http://locahost:8080, http://localhost:8081, http://localhost:8082并使用以下configuration:

 #ServerName localhost:80 ServerName localhost Listen 8080 Listen 8081 Listen 8082 #..... <VirtualHost *:8080> DocumentRoot "c:\www" ServerName localhost <Directory "c:/www/"> Options Indexes FollowSymLinks AllowOverride all Require local </Directory> </VirtualHost> <VirtualHost *:8081> DocumentRoot "C:\www\directory abc\svn_abc\trunk\httpdocs" ServerName localhost <Directory "C:\www\directory abc\svn_abc\trunk\httpdocs"> Options Indexes FollowSymLinks AllowOverride all Require local </Directory> </VirtualHost> #<VirtualHost *:8082></VirtualHost>....... 

我在windows 7上遇到了这个问题。向httpd-vhosts.conf添加以下代码解决了我的问题。

 <VirtualHost *:80> DocumentRoot "F:/wamp_server/www/" ServerName localhost </VirtualHost> 

我永远花了我的时间来解决这个问题。

C:\ WAMP \ BIN \ apache的\ apache2.4.9 \的conf \额外\的httpd-vhosts.conf

在这个文件中,您会注意到几个虚拟主机文件的例子,如下所示:

 <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> 

只需删除这些条目并replace为:

 <VirtualHost *:80> ServerAdmin serveradmin@host.com DocumentRoot "C:\wamp\www" ServerName localhost </VirtualHost> 

你肯定需要确保你的其他鸭子是连续的,但这对我来说,工作的解决scheme。

嗨有2个解决scheme:

  1. 将文本文件(httpd.conf)中的端口80更改为81,然后单击127.0.0.1:81

  2. 更改设置networking去控制面板 – networking和互联网 – networking和共享中心

点击 – >本地连接select – > propertis在-allow other中检查是否真实……… — allo other …..

我也有这个问题。 我的问题的路线是我在我的vhosts.conf文件中犯了一个错误。 如果你正在使用虚拟主机,这是另一回事

httpd.conf中的这个configuration对我来说工作正常。

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

确保您的.conf文件中的path名称中没有使用Windows目录分隔符(反斜杠),即使在Windows上也是如此。 Apache不理解他们,但仍然会启动,然后输出403 Forbidden Message

错误:

 <Directory "c:\websites\my-website\"> 

对:

 <Directory "c:/websites/my-website/"> 

令人惊讶的是,DocumentRoot(和相关的,如<Directory>)path中的方括号也会导致错误403:

  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]"与403失败,而
  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master"工作正常。

(我没有理会Apachepath的转义,如果有的话,只是改名为path,如果有人知道的话,欢迎提出意见。)

我的解决scheme是禁用编码文件的编码(这些文件在Windows中是绿色的)。 我从MAC电脑获得这些文件,它是默认encryption。

Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...

瞧,它的工作。

我已经尝试了所有的东西,除了清除.htaccess文件中的混乱。

转到www /目录并在另一个文件夹中创build.htaccess文件的副本。 然后清除.htaccess原始文件中的所有行。 并添加这一行,

RewriteEngine On

然后重新启动服务器。 这已经解决了我的问题,并获得了我所有的本地主机网站。 希望它也能解决你的问题。

同样在Apache 2,4上,如果您决定包含httpd-vhosts.conf,则可能需要将其添加到conf中的directory指令中。

默认情况下,你可以在C:\下安装wamp,但仍然select在其他位置部署你的web开发。

要在vhosts.conf中执行此操作,您可以添加以下指令:

 <Directory "e:/websites"> Options Indexes FollowSymLinks MultiViews DirectoryIndex index.php AllowOverride All <IfDefine APACHE24> Require local </IfDefine> <IfDefine !APACHE24> Order Deny,Allow Allow from all Allow from localhost ::1 127.0.0.1 </IfDefine> </Directory> 

感谢您的问题。 我现在使用wamp 3。 我find一个简单的答案,在你的问题下做到这一点。 但是这个答案在wamp上应该会有所变化。步骤如下:

  1. 右键单击wamp图标
  2. select“Wamp Setting”
  3. 点击菜单项:在线/离线
  4. 左键单击wamp图标
  5. 你会发现有一个新的项目叫“在线上线”

请确保目录c:/wamp/apps/phpmyadmin3.1.3.1/中的文件名与phpMyAdmin.conf中的名称(或版本)匹配( Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/"

我发现,如果你使用的是由于某种原因,当它在根文件夹中时,它总是被禁止的,所以我把它放在我的根文件夹上面的目录中,并在httpd.conf使用这个别名

Alias /phpmyadmin "C:/Program Files (x86)/Ampps/phpMyAdmin"

请注意我正在使用ammps,我不知道它是否适用于其他人,但值得一试;)