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

时间:2014-10-02 22:00:53

标签: 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>

6 个答案:

答案 0 :(得分:15)

请勿更改httpd.conf的该部分。这几行控制对安装Apache的驱动器的根文件夹的访问。因此,您只需通过方便的黑客就可以完全访问任何人。

通过Apache保护访问权限的过程是拒绝对根文件夹及其下方的所有内容进行访问,然后有选择地允许特定站点访问驱动器的特定区域/文件夹。 / p>

更好的解决方案是将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>

使用虚拟主机来控制每个站点而不是Alias是一个更好的主意。

以下是为什么和如何: - WAMPServer 2.5 The Homepage, Your Projects Menu and the need for Virtual Hosts

答案 1 :(得分: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>

如果您看到该文件的内容,则会注意到<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>

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

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

    Require local

</Directory>

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

答案 2 :(得分:1)

我不是这方面的专家,但上面的答案似乎是我准许访问我的整个计算机...所以尝试修改上面的答案只是提供访问我的别名文件夹的位置...

所以相反......转到httpd.conf文件...并搜索...

<Directory />
   AllowOverride none
   Require all denied
</Directory>

及以下添加以下内容

<Directory "c:/path-to-your-alias-folder...">
   AllowOverride none
   Require all granted
</Directory>

这对我有用,我觉得它可能更安全一点......我再也不是这里的专家......只是想让它发挥作用......

答案 3 :(得分:1)

允许您的服务器&amp; wamp你需要3个步骤,请确保这3件事之后你可以从其他网络访问你的网站,例如http://192.168.1.1/yoursitefoldername (192.168.1.1是您的计算机或vps IP地址&#34; yoursitefoldername&#34;是您网站的文件夹名称,应该在您的wamp-&gt; www文件夹中)

<强> 1

首先 端口80和443必须同时允许TCP和UDP数据包。为此,请在Windows防火墙上为端口80和443创建TPC和UDP的2个入站规则。 (或者您可以禁用整个防火墙进行测试,但如果允许入站规则,则可以永久解决方案)

<强> 2

如果您正在使用WAMPServer 3请参阅答案底部

对于WAMPServer版本&lt; = 2.5

您需要更改Apache上的安全设置以允许从其他任何位置进行访问,因此请编辑httpd.conf文件。

更改此部分:

#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost

致:

#   onlineoffline tag - don't remove
    Order Allow,Deny
      Allow from all

如果&#34;允许所有&#34;行不适合你当时使用&#34;要求所有被授予&#34; 那么它会对你有用。

WAMPServer 3有不同的方法

在版本3和&gt;中WAMPServer有一个为localhost预定义的虚拟主机,所以根本不修改httpd.conf文件,保留它,就像你找到它一样。

使用菜单编辑httpd-vhosts.conf文件。

enter image description here

它应该是这样的:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

将其修改为

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

希望您已为项目创建虚拟主机,而不是使用您网站的wamp\www文件夹。在这种情况下,请单独保留localhost定义,并仅对您的虚拟主机进行更改。

第3 不要忘记在进行此更改后重新启动Wamp或Apache的所有服务

答案 4 :(得分:0)

我找到了一个适合我的解决方案。 在httpd.conf中我改变了:

<Directory />
    AllowOverride none
    Require all denied
</Directory>

<Directory />
    AllowOverride none
    Require all granted
</Directory>

解决了这个问题并允许我访问自定义别名。

答案 5 :(得分:0)

我建议您考虑设置虚拟主机。它需要几分钟,但它更加防弹。 RiggsFolly对类似问题的回答在于其细节,严谨性和实用性:

Project Links do not work on Wamp Server