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

问题描述 投票:0回答:6

任何人都可以帮助解决以下问题: 我正在使用 wamp 在 chrome 浏览器中运行项目。 添加指向我的项目目录 c:/dev/myProject 的 newAlias 后 我收到禁止消息:您无权访问此服务器上的 /newAlias。 我可以访问默认别名,例如 phpmyadmin、webgrind... 但我无法访问我自己的。 我在位于 c:/wamp 的 Win 8.1 64 位上使用 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>
wamp wampserver
6个回答
16
投票

请勿更改

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 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 主页、您的项目菜单以及对虚拟主机的需求


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 文件 from:

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>

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


1
投票

我不是这方面的专家,但上面的答案似乎是我授予了对我的整个计算机的访问权限...因此尝试修改上面的答案以仅授予对我的别名文件夹所在位置的访问权限...

所以...转至 httpd.conf 文件...并搜索...

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

并在下面添加以下内容

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

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


1
投票

要允许您的服务器和 wamp 的权限,您需要 3 个步骤,请确保完成这 3 件事,之后您可以使用 IP 地址从其他网络访问您的网站,例如 http://192.168.1.1/yoursitefoldername (192.168.1.1是您的计算机或vps IP地址“yoursitefoldername”是您网站的文件夹名称,应该位于您的wamp->www文件夹中)

1.

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

2.

如果您使用的是 WAMPServer 3 请参阅答案底部

对于 WAMPServer 版本 <= 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

如果“允许所有”行不适合您,则使用“要求所有已授予” 那么它就会为你工作。

WAMPServer 3 有不同的方法

在 WAMPServer 版本 3 和 > 中,有一个为

localhost
预定义的虚拟主机,因此根本不要修改
httpd.conf
文件,保留您发现的样子。

使用菜单编辑

httpd-vhosts.conf
文件。

它应该看起来像这样:

<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 的所有服务


0
投票

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

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

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

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


0
投票

我建议您考虑设置虚拟主机。这需要几分钟的时间,但更安全。 RiggsFolly 对类似问题的回答非常详细、严谨且实用:

项目链接在 Wamp 服务器上不起作用

© www.soinside.com 2019 - 2024. All rights reserved.