我在Windows 7机器上安装了WAMP 2.1版。当我在浏览器中浏览到localhost时,可以看到WAMP服务器页面。
但是当我在浏览器中浏览我的IP时,我收到了消息
403 Forbidden:您无权访问/在此服务器上。
有什么建议吗?
答案 0 :(得分:126)
127.0.0.1
(Apache的配置文件)中httpd.conf
以外的地址禁止访问您的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
答案 1 :(得分:62)
我发现了一个更简单的修复...
虽然图标为绿色,但WAMP仍然需要“放在线”(左键单击图标时的最后一项菜单)。
之后我正常访问。
答案 2 :(得分:25)
对我来说,包含“Require local”有助于解决错误403.别名配置文件如下所示:
Alias /mytest/ "C:/mytest/"
<Directory "C:/mytest/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
Require local
</Directory>
答案 3 :(得分:10)
如果您可以从外部提供对WAMP服务器的访问权限,则可以使用httpd.conf中更改权限的解决方案。
如果您不想这样做,那么您所要做的就是告诉Windows“localhost”域指向127.0.0.1。您可以通过编辑系统目录中的hosts文件来完成此操作。
该文件位于: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文件的权限。仅当您不希望从外部访问服务器时才使用hosts文件方法。
答案 4 :(得分:7)
我发现的另一件事是,如果您的网络适配器使用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>
答案 5 :(得分:7)
尝试将以下代码行添加到httpd-vhosts.conf文件中:
<VirtualHost *:80>
ServerAdmin serveradmin@host.com
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>
答案 6 :(得分:4)
如果您使用了localhost / phpmyadmin /
只需使用
127.0.0.1/phpmyadmin/ for PHPMyAdmin
127.0.0.1/sqlbuddy/ for SQLBuddy
或者如果您使用过localhost:8080 / phpmyadmin /那么
127.0.0.1:8080/phpmyadmin/ for PHPMyAdmin
127.0.0.1:8080/sqlbuddy/ for SQLBuddy
答案 7 :(得分:4)
请记住删除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>
答案 8 :(得分:3)
对于Apache版 2.4.x ,只需将 Require local
替换为 Require all granted
在 <Directory "c:/wamp/www/">
标记内的 httpd.conf 文件中,然后重新启动所有服务
答案 9 :(得分:2)
这个问题可能有很多原因
我所经历的是:
1)127.0.0.1 localhost
条目在主机文件中重复
2)Apache mod_rewrite
未启用
无论原因如何,备份您的www
文件夹,vhost配置文件(和httpd配置文件)都会有所帮助。
这样的过程需要几分钟。
答案 10 :(得分:2)
我读过&amp;试过所有修复但没有人工作。最后我发现Wamp Server徽标是绿色但需要“在线”。
这么简单&amp;检查PHPMyAdmin.Cofg
&amp; HttPD.cofg
只需点击在线投放
答案 11 :(得分:1)
我在Windows 7上遇到了这个问题。在httpd-vhosts.conf中添加以下代码为我解决了这个问题。
<VirtualHost *:80>
DocumentRoot "F:/wamp_server/www/"
ServerName localhost
</VirtualHost>
答案 12 :(得分:1)
感谢您的提问。 我现在正在使用wamp 3。 我会在你的问题下找到一个简单的答案。 但是那个答案应该在wamp 3上稍微改变一下。 步骤如下:
答案 13 :(得分:1)
我花了很长时间才弄清楚这一点。
C:\瓦帕\ BIN \阿帕奇\ 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>
只需删除这些条目并替换为:
<VirtualHost *:80>
ServerAdmin serveradmin@host.com
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>
你肯定需要确保你的其他鸭子在一排,但这对我来说有效的解决方案。
答案 14 :(得分:1)
我尝试了上面的配置,只有这适用于我的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>.......
答案 15 :(得分:1)
对于Wamp 3.1.3和Apache 2.4,我只需要在httpd-vhosts.conf文件中更改1行。
然后,我能够从其他计算机访问我的apache服务器。
将此视频归功于此视频:https://www.youtube.com/watch?v=Sy_f6wBGnjI
答案 16 :(得分:0)
令人惊讶的是,DocumentRoot中的方括号(以及相关的,如&lt; Directory&gt;)路径也会导致错误403:
DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]"
以403失败,而DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master"
工作正常。(我没有打算弄清楚Apache路径转义,如果有的话,只是重命名路径。如果有人知道,欢迎提出意见。)
答案 17 :(得分:0)
确保您的.conf文件中的路径名中没有使用Windows的目录分隔符(反斜杠),即使您使用的是Windows。 Apache不理解它们,但仍然会启动,然后输出403 Forbidden Message
。
错误:
<Directory "c:\websites\my-website\">
右:
<Directory "c:/websites/my-website/">
答案 18 :(得分:0)
嗨,有两个解决方案:
将文本文件(httpd.conf)中的端口80更改为81 并单击127.0.0.1:81
更改网络设置 转到控制面板 - 网络和互联网 - 网络和共享中心
点击 - &gt;本地连接 选择 - &GT; propertis 在-allow中检查为true ..... 和--- allo其他.....
答案 19 :(得分:0)
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 :(得分:0)
我也有这个问题。我的问题的路线是我在我的vhosts.conf文件中犯了一个错误。如果你正在使用vhosts,这是另一件需要检查的事情
答案 21 :(得分:0)
同样在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>
答案 22 :(得分:0)
除了清除.htaccess文件中的混乱之外,我已经尝试了所有的东西。
转到 www / 目录,并在另一个文件夹中复制 .htaccess 文件。然后清除 .htaccess 原始文件中的所有行。 并添加此行,
RewriteEngine On
然后重启服务器。 这解决了我的问题,并访问了我所有的localhost站点。 希望它能解决你的问题。
答案 23 :(得分:0)
我的解决方案是禁用编码文件的编码(这些文件在Windows中是绿色的)。我从MAC计算机获得这些文件,默认情况下是加密的。
Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...
瞧它有效。
答案 24 :(得分:0)
确保目录c:/wamp/apps/phpmyadmin3.1.3.1/
中的文件名与phpMyAdmin.conf中的名称(或版本)匹配(Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/"
)
答案 25 :(得分:0)
我发现如果你使用ammps,由于某些原因它在你的根文件夹中总是被禁止,所以我把它放在我的根文件夹上面的目录中,并使用这个<{1}}中的别名/ p>
httpd.conf
请注意我正在使用ammps,我不确定它是否适用于其他人,但值得一试;)