【问题标题】:WAMP 403 Forbidden message on Windows 7Windows 7 上的 WAMP 403 禁止消息
【发布时间】:2012-01-02 13:03:28
【问题描述】:

我已经在我的 Windows 7 机器上安装了 WAMP 2.1 版。当我在浏览器中浏览到 localhost 时,可以看到 WAMP 服务器页面。

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

403 Forbidden:您无权访问此服务器上的 /。

有什么建议吗?

【问题讨论】:

  • 禁止从httpd.conf(Apache 的配置文件)中的127.0.0.1 以外的地址访问您的Apache 服务器
  • 我更正了,现在我的 phpMyAdmin 中出现 403 Forbidden,对此有何建议?
  • 还有一个 phpmyadmin.conf 包含 'localhost/phpmyadmin' 别名的指令
  • 如果您在这里使用 Windows 8,请查看此stackoverflow.com/questions/13945783/…

标签: apache wamp wampserver httpd.conf http-status-code-403


【解决方案1】:

禁止从httpd.conf(Apache 的配置文件)中的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 访问也是如此,配置文件是 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

【讨论】:

  • 这肯定会开放任何IP地址的访问,但这不是有点危险吗?允许“来自 127.0.0.1”的规则应该足以允许本地访问,如果这是这里的主要目标,那么 127.0.0.1 基本上是返回网络适配器的环路。如果您在地址栏中输入 'http'://127.0.0.1:{portNumber}/{folderOrFileName}' 它应该可以正常工作。这应该与使用 localhost 相同,但我发现某些浏览器由于某种原因存在 localhost 问题。
  • 我无法在最后一条评论中格式化我的地址行,因此其中有一个额外的“'”,如果它让任何人感到困惑,请忽略该抱歉。
  • 注意:该文件设置了默认值,然后一次覆盖一个,因此请确保这些行在所有覆盖之后。
  • 不要忘记从 WAMP 系统托盘菜单中“重新启动所有服务”(或者不管你怎么做。)
  • 对于 Apache 版本 2.4.xhttpd.conf 文件 中的 Require local 替换为 Require all granted &lt;Directory "c:/wamp/www/"&gt; 标记然后 重启所有服务
【解决方案2】:

我找到了一个更简单的解决方法...

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

之后我就可以正常访问了。

【讨论】:

  • 实际上,这应该被标记为可接受的答案。谢谢老兄。
  • 此解决方案值得一票,因为当您实际单击“放置在线”按钮时配置会更新:forum.wampserver.com/read.php?1,119467,119546
  • 这也为我修复了它。虽然在我的情况下,我必须首先“离线”,然后“在线”并且在没有对我的配置文件进行任何其他更改的情况下工作!谢谢!!
  • 实际上,我在第一个接受的答案中开始制作所有这些东西。它没有帮助。然后我在这里看到了这个,我想“不可能是这个……”,但是,就是这样,它奏效了。
  • Supercalifragilisticexpialidocious!
【解决方案3】:

对我来说,包含“需要本地”有助于解决错误 403。别名配置文件如下所示:

Alias /mytest/ "C:/mytest/" 

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

【讨论】:

  • 这也适用于我,使用 Apache 2.4.9。找这个很久了。谢谢!
  • Options Indexes FollowSymLinks MultiViews 也是必需的
  • 添加“C:/mytest/”部分的任何理由?它似乎没有任何效果,并且在最后保留一个 / 作为标准似乎也可以正常工作
  • 如果您想在本地网络的其他设备上打开您的网站,最好使用“要求所有授权”代替“要求本地”
  • 添加“全部允许”对我有用。
【解决方案4】:

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

如果您不想这样做,那么您所要做的就是告诉 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

注意:您将无法将 hosts 文件作为只读文件进行编辑。要编辑,您必须是管理员,将文件复制到其他位置,编辑然后将其复制回 etc 目录。

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

【讨论】:

    【解决方案5】:

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

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

    【讨论】:

      【解决方案6】:

      我发现的另一件事是,如果您的网络适配器使用 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 访问也是如此,配置文件是 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>
      

      【讨论】:

      • 我认为这个答案确实解决了被问到的重要问题,即当启用 IPv6 时,localhost 解析为 IPv6 地址 (::1),这反过来意味着请求地址也将是一个 IPv6 地址(也是 ::1),它与 127.0.0.1 不同,127.0.0.1 是允许连接的唯一地址。此外,localhost 默认情况下通过本地 DNS 服务器(不是主机)解析,根据我的说法,保持这种方式更好看,而是禁用 IPv6 以便 localhost 解析为 127.0.0.1 或更改 / 包括如上。
      • 只需将 'Allow from ::1' 添加到 "c:\wamp\alias\phpmyadmin.conf 文件" 即可解决 phpmyadmin 403 问题。
      【解决方案7】:

      如果你使用过 localhost/phpmyadmin/

      简单地使用

      127.0.0.1/phpmyadmin/ 用于 PHPMyAdmin

      127.0.0.1/sqlbuddy/ 用于 SQLBuddy

      或者如果你使用过 localhost:8080/phpmyadmin/ 那么

      127.0.0.1:8080/phpmyadmin/ 用于 PHPMyAdmin

      127.0.0.1:8080/sqlbuddy/ 用于 SQLBuddy

      【讨论】:

        【解决方案8】:

        记得删除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>
        

        【讨论】:

        • 谢谢!这解决了它。
        【解决方案9】:

        对于 Apache 版本 2.4.x 只需在 中将 Require local 替换为 Require all granted &lt;Directory "c:/wamp/www/"&gt; 标签内的 httpd.conf 文件,然后 重新启动所有服务

        【讨论】:

        • 这对我有用。奇怪的是,其他 2 个 VirtualHosts(在 httpd-vhosts.conf 中)没有“需要本地”或“需要所有授权”,并且仍然可以正常工作。 ¯_(ツ)_/¯
        【解决方案10】:

        对于 Wamp 3.1.3 和 Apache 2.4,我只需更改 httpd-vhosts.conf 文件中的 1 行即可。

        1. 打开 httpd-vhosts.conf
        2. 将“要求本地”更改为“要求全部授予”
        3. 重启所有服务

        然后我可以从其他计算机访问我的 apache 服务器。

        感谢此视频:https://www.youtube.com/watch?v=Sy_f6wBGnjI

        【讨论】:

          【解决方案11】:

          这个问题可能有很多原因

          我的经历是:
          1) 127.0.0.1 localhost 条目在主机文件中重复
          2) Apache mod_rewrite 未启用

          不管是什么原因,备份您的 www 文件夹、vhost 配置文件(和 httpd 配置文件)都会有所帮助。 而且这样的过程需要几分钟。

          祝你好运

          【讨论】:

            【解决方案12】:

            我阅读并尝试了所有修复,但没有一个有效。最后我发现 Wamp Server 的 Logo 是绿色的,但是需要“PUT ONLINE”。 检查您的PHPMyAdmin.CofgHttPD.cofg 后,如此简单和快速修复只需点击在线

            【讨论】:

              【解决方案13】:

              我尝试了上面的配置,只有这对我的 WAMP Apache 2.4.2 配置有效。对于 Windows 主机文件中没有命名域的多个根站点,请使用 http://locahost:8080, http://localhost:8081, http://localhost:8082 和此配置:

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

              【讨论】:

                【解决方案14】:

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

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

                【讨论】:

                  【解决方案15】:

                  感谢您的提问。 我现在正在使用 wamp 3。 我在你的问题下找到了一个简单的答案。 但是这个答案在 wamp 3 上应该会有所改变。 步骤如下:

                  1. 右键单击 wamp 图标
                  2. 选择 Wamp 设置
                  3. 点击菜单项:在线/离线
                  4. 左键单击 wamp 图标
                  5. 您会发现有一个名为“Put online”的新项目

                  【讨论】:

                  • 谢谢你,@miltonb。
                  【解决方案16】:

                  我花了很长时间才弄明白。

                  C:\wamp\bin\apache\apache2.4.9\conf\extra\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>
                  

                  只需删除这些条目并替换为:

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

                  你肯定需要确保你的其他鸭子排成一排,但这对我来说是有效的解决方案。

                  【讨论】:

                    【解决方案17】:

                    您好,有两种解决方案:

                    1. 在文本文件(httpd.conf)中将端口80改为81 并点击 127.0.0.1:81

                    2. 更改网络设置 进入控制面板--网络和internet--网络和共享中心

                    点击-->本地连接 选择-->属性 在 -allow other 中检查 true ..... 和 --- allo other .....

                    【讨论】:

                      【解决方案18】:

                      我也有这个问题。我的问题的路径是我在我的 vhosts.conf 文件中犯了一个错误。如果您使用的是虚拟主机,这是另一件需要检查的事情

                      【讨论】:

                        【解决方案19】:

                        httpd.conf 中的这个配置对我来说很好。

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

                        【讨论】:

                          【解决方案20】:

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

                          错误:

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

                          右:

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

                          【讨论】:

                            【解决方案21】:

                            令人惊讶的是,DocumentRoot(以及相关的,如 )路径中的方括号也可能导致错误 403:

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

                            (我没有费心弄清楚Apache路径转义,如果有的话,只是重命名了路径。如果有人知道,欢迎使用cmets。)

                            【讨论】:

                              【解决方案22】:

                              我的解决方案是禁用编码文件的编码(这些文件在 Windows 中是绿色的)。我从 MAC 计算机上获得了这些文件,默认情况下它是加密的。

                              Ive select these files &gt; right click &gt; properities &gt; general tab &gt; andvanced &gt; uncheck encrypt files...

                              瞧,它起作用了。

                              【讨论】:

                                【解决方案23】:

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

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

                                重写引擎开启

                                然后重新启动服务器。 这解决了我的问题并可以访问我所有的本地主机站点。 希望它也能解决你的问题。

                                【讨论】:

                                  【解决方案24】:

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

                                  默认情况下,您可以在 C:\ 中安装 wamp,但仍选择将 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>
                                  

                                  【讨论】:

                                    【解决方案25】:

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

                                    【讨论】:

                                      【解决方案26】:

                                      我发现,如果您使用 ammps,由于某种原因,它在您的根文件夹中时总是被禁止的,所以我将它放在我的根文件夹上方的目录中,并使用它在 httpd.conf 中创建了一个别名

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

                                      请注意我正在使用安培,我不确定它是否适用于其他人,但值得一试;)

                                      【讨论】:

                                        猜你喜欢
                                        • 1970-01-01
                                        • 1970-01-01
                                        • 1970-01-01
                                        • 2021-03-21
                                        • 2019-02-28
                                        • 2015-04-18
                                        • 2012-12-06
                                        • 1970-01-01
                                        相关资源
                                        最近更新 更多