31

我正在尝试在文档根目录外的该文件夹中创建一个名为 week7 的文件夹和一个名为 hello.html 的 html 页面,并通过 Alias 指令对其进行查看。

我从 Document Root 中创建了一个名为 week7 的文件夹。我为它选择了这个位置:

/usr/local/www/week7

而我的文档根目录是:

/usr/local/www/apache22/data

在 httpd.conf 和标签下,我写道:

    Alias /week7 /usr/local/www/week7
<Directory /usr/local/www/week7>
    Require all granted
</Directory>

重新启动服务器后,我收到以下消息:禁止 403 消息。

我尝试更改 hello.html 文件、week7 文件夹甚至 www 文件夹的权限,但没有任何改变。

有任何想法吗?

4

7 回答 7

42

如果您使用的是 apache 2.4

命令允许,拒绝
所有人允许

变成……

要求所有授予

https://httpd.apache.org/docs/2.4/upgrading.html

于 2013-08-23T04:58:22.500 回答
29

我知道它很旧但只是为了记录,以下在 XAMPP(Windows 8)中对我有用

Alias /projects c:/projects

<Directory c:/projects>
    Options Indexes FollowSymLinks MultiViews
    Order allow,deny
    Allow from all
</Directory>

编辑

在 XAMPP 5.6 和 Apache 2.4 上试试这个:

Alias /projects c:/projects

<Directory c:/projects >
    Options Indexes FollowSymLinks MultiViews
    Require all granted
</Directory>
于 2013-06-04T02:40:12.707 回答
8

I fixed this issue with these directives:

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require local

You'll only be able to browse from your local computer, but it works for local testing and development.

于 2012-07-03T16:54:49.570 回答
5

尝试此处其他答案提供的解决方案,发现它们对我不起作用,使用Linux Mint,我找到了另一种以不同用户身份启动 apache 的选项。

阅读unixd_module 文档后,我编辑了“httpd.conf”以将Userand更改Group为目录所有者Alias(或 root 用户)的和,并且 403“禁止”错误消失了。

  1. 在文本编辑器中打开您的“httpd.conf” /opt/lampp/etc/httpd.conf(例如在默认安装的 XAMPP 中)。

  2. 查找<IfModule unixd_module>,其中的注释应如下所示:

    如果您希望 httpd 以不同的用户或组运行,您必须首先以 root 运行 httpd,它会切换。

    用户/组:运行 httpd 的用户/组的名称(或#number)。

    与大多数系统服务一样,创建一个专门的用户和组来运行 httpd 通常是一种很好的做法。

    使用默认值UserGroup设置为daemon.

  3. 编辑UserGroup

例如:

<IfModule unixd_module>
  User mrJohn
  Group mrJohn
</IfModule>

我希望这很有用。

于 2014-12-18T15:59:27.187 回答
4

对我来说,这个解决方案是:

当我访问虚拟目录时出现错误“访问被禁止!发生错误 403”。
配置似乎没问题:

Alias /static/ /home/username/sites/myblog/static/
<Directory /home/username/sites/myblog/static> Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>
解决方案:默认的 apache 配置非常严格。它不允许未经身份验证访问目录。这在 httpd.conf 的目录部分中定义: <Directory> AllowOverride none Require all denied </Directory>
向您的虚拟目录部分添加“要求所有授权”指令将授予访问权限。

Alias /static/ /home/username/sites/myblog/static/ <Directory /home/username/sites/myblog/static> AllowOverride All Order allow,deny Allow from all Require all granted </Directory>

于 2019-01-08T10:35:43.043 回答
1

别名 /data /media/pi/VOLUME

......

选项索引 FollowSymLinks MultiViews

允许覆盖所有

需要本地

在本地主机的 Raspbian 上工作正常

于 2018-08-07T19:49:17.013 回答
0

我能够访问文档根目录之外的目录,但是使用该线程的原始问题中提出的方法。

   # Create Alias to access files for pure js front end app
   Alias "/hbt" "/dirA/dirB/dirC"

   # Create a Directory directive for "dirC"
   <Directory /dirA/dirB/dirC>
     Require all granted
   </Directory

重新启动Apache,它工作!我正在使用 Apache 2.4

于 2020-08-03T06:41:36.507 回答