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.Cofg
& HttPD.cofg
后,如此简单&快速修复只需点击PUT ONLINE
对于Apache版本 2.4.x,简单地将Require local
replace为<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:
-
将文本文件(httpd.conf)中的端口80更改为81,然后单击127.0.0.1:81
-
更改设置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上应该会有所变化。步骤如下:
- 右键单击wamp图标
- select“Wamp Setting”
- 点击菜单项:在线/离线
- 左键单击wamp图标
- 你会发现有一个新的项目叫“在线上线”
请确保目录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,我不知道它是否适用于其他人,但值得一试;)