我在Windows 7计算机上安装了WAMP 2.1版。当我在浏览器中浏览到本地主机时,可以看到WAMP服务器页面。
但是当我在浏览器中浏览到我的IP时,我收到消息
403禁止访问:您无权访问此服务器上的/。
有什么建议?
phpmyadmin.conf
包含“ localhost / phpmyadmin”别名的指令
我在Windows 7计算机上安装了WAMP 2.1版。当我在浏览器中浏览到本地主机时,可以看到WAMP服务器页面。
但是当我在浏览器中浏览到我的IP时,我收到消息
403禁止访问:您无权访问此服务器上的/。
有什么建议?
phpmyadmin.conf
包含“ localhost / phpmyadmin”别名的指令
Answers:
除了(Apache的配置文件)中的地址以外127.0.0.1
,禁止访问Apache服务器httpd.conf
:
<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
Require local
用Require all granted
在httpd.conf文件内<Directory "c:/wamp/www/">
标签然后重新启动所有服务
我找到了一个更简单的修复方法...
尽管该图标为绿色,但WAMP仍需要“置于在线状态”(单击鼠标左键时菜单的最后一项)。
之后,我可以正常访问。
对我而言,包含“ 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>
Options Indexes FollowSymLinks MultiViews
也需要
如果可以从外部提供对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 name resolution is handled within DNS itself.
127.0.0.1 localhost
# ::1 localhost
注意:您将无法将hosts文件作为只读文件进行编辑。要进行编辑,您必须是管理员,然后将文件复制到其他位置,进行编辑,然后再复制回etc目录。
我不建议更改主机文件。使用httpd.conf文件的权限。仅当您不希望从外部访问服务器时,才使用hosts文件方法。
尝试将以下代码行添加到文件httpd-vhosts.conf中:
<VirtualHost *:80>
ServerAdmin serveradmin@host.com
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>
我发现的另一件事是,如果您的网络适配器使用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>
记住要删除其中的虚拟元素 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>
对于Wamp 3.1.3和Apache 2.4,我只需要在httpd-vhosts.conf文件中更改1行。
这样便可以从其他计算机访问我的apache服务器。
我尝试了上面的配置,仅此配置适用于我的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>.......
我花了很长时间才弄清楚这一点。
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>
您绝对需要确保其他鸭子都排成一行,但这对我来说是可行的解决方案。
嗨,有2个解决方案:
在文本文件(httpd.conf)中将端口80更改为81,然后单击127.0.0.1:81
更改设置网络进入控制面板-网络和互联网-网络和共享中心
单击->本地连接选择->属性在-allow other .....和--- allo other .....中检查true
我已经尝试了所有的东西,除了清除.htaccess文件中的混乱。
转到www /目录,并在另一个文件夹中复制.htaccess文件。然后清除.htaccess原始文件中的所有行。并添加这一行,
RewriteEngine开
然后重新启动服务器。这解决了我的问题,并且可以访问我所有的localhost站点。希望它也能解决您的问题。
同样在Apache 2,4上,如果您决定包括httpd-vhosts.conf,则可能需要将此文件添加到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>
127.0.0.1
在httpd.conf
(Apache的配置文件)