您无权访问此服务器上的[自定义别名]

fas*_*a81 10 wamp wampserver

任何人都可以帮助解决以下问题:我正在使用wamp在我的chrome浏览器中运行项目.添加指向我的项目目录c:/ dev/myProject的newAlias之后我收到Forbidden消息:您无权访问此服务器上的/ newAlias.我可以访问默认别名,如phpmyadmin,webgrind ......但我无法访问自己的.我在位于c:/ wamp的Win 8.1 64bit上使用WampServer版本2.5 64位.我从网上尝试了基本的东西,但没有运气.有什么建议?

编辑:newAlias的内容:

Alias /bs1/ "c:/_DEV_/git/NewProject/www/" 

<Directory "c:/_DEV_/git/NewProject/www/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

Rig*_*lly 15

不要改变你的那一部分httpd.conf.这几行控制对安装Apache的驱动器的根文件夹的访问.所以你只是通过一个方便的黑客完全访问任何人.

通过Apache保护访问权限的过程是拒绝从根文件夹和下面的所有内容访问,然后有选择地允许特定站点访问驱动器的特定区域/文件夹.

更好的解决方案是更改httpd.conf回原理并在Alias定义中进行更改.像这样 :-

Alias /bs1 "c:/_DEV_/git/NewProject/www/" 

<Directory "c:/_DEV_/git/NewProject/www/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Require local         <-- to develop on this PC
    Require ip 192.168.1  <-- to access the server from another PC on your network
    Require all granted   <-- to allow the world to see the beauty of your site
</Directory>
Run Code Online (Sandbox Code Playgroud)

实际上,使用虚拟主机来控制每个站点而不是Alias是一个更好的主意.

以下是为什么和如何: - WAMPServer 2.5主页,您的项目菜单以及对虚拟主机的需求


Gon*_*gui 12

我已经将WAMP从2.2.22更新到2.4.9并发现新的别名不起作用(与您的错误消息相同).

检查像phpmyadmin这样的默认别名,我发现了这个:

Alias /phpmyadmin "c:/wamp/apps/phpmyadmin4.1.14/"

# to give access to phpmyadmin from outside 
# replace the lines
#
# Require local
#
# by
#
# Require all granted
#

<Directory "c:/wamp/apps/phpmyadmin4.1.14/">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride all
  <IfDefine APACHE24>
    Require local
  </IfDefine>
  <IfDefine !APACHE24>
    Order Deny,Allow
      Deny from all
      Allow from localhost ::1 127.0.0.1
    </IfDefine>
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>
Run Code Online (Sandbox Code Playgroud)

如果您看到文件的内容,您会注意到条件<IfDefine APACHE24><IfDefine !APACHE24>条件.所以我改变了我的别名.conf文件:

Alias /svn "c:/work/website-svn/" 

<Directory "c:/work/website-svn/">
    Options Indexes FollowSymLinks MultiViews

    AllowOverride all
    Order allow,deny
    Allow from all

</Directory>
Run Code Online (Sandbox Code Playgroud)

至:

Alias /svn "c:/work/website-svn/" 

<Directory "c:/work/website-svn/">
    Options Indexes FollowSymLinks MultiViews

    Require local

</Directory>
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题,我希望它能解决你的问题.

  • 这个答案应该被接受.WAMP 2.5附带Apache 2.4,它使用`Require`进行访问控制.Apache 2.2使用了"Order,Deny,Allow,Satisfy"指令.请参阅此处以从Apache 2.2升级到2.4:http://httpd.apache.org/docs/2.4/upgrading.html. (3认同)