别名403禁止使用Apache

You*_*yen 25 apache alias directive mod-alias

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

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

/usr/local/www/week7
Run Code Online (Sandbox Code Playgroud)

而我的文档根目录是:

/usr/local/www/apache22/data
Run Code Online (Sandbox Code Playgroud)

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

    Alias /week7 /usr/local/www/week7
<Directory /usr/local/www/week7>
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

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

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

有任何想法吗?

use*_*789 40

如果你正在使用apache 2.4

订单允许,拒绝
允许所有人

成为...

要求全部授予

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


Mir*_*iro 26

我知道它已经老了,但仅仅是为了记录,以下在XAMPP中为我工作(Windows 8)

Alias /projects c:/projects

<Directory c:/projects>
    Options Indexes FollowSymLinks MultiViews
    Order allow,deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

编辑

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

Alias /projects c:/projects

<Directory c:/projects >
    Options Indexes FollowSymLinks MultiViews
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)


Dav*_*ner 8

我用这些指令解决了这个问题:

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require local
Run Code Online (Sandbox Code Playgroud)

您只能从本地计算机浏览,但它适用于本地测试和开发.


小智 7

对我来说这个解决方案有效:

\n

当我访问虚拟目录时出现错误\xe2\x80\x9cAccess禁止!发生错误 403\xe2\x80\x9d。
配置看起来没问题:

\n
Alias /static/ /home/username/sites/myblog/static/\n<Directory /home/username/sites/myblog/static>\n  Options Indexes FollowSymLinks MultiViews ExecCGI\n  AllowOverride All\n  Order allow,deny\n  Allow from all\n</Directory>\n
Run Code Online (Sandbox Code Playgroud)\n

解决方案:\n默认的 apache 配置非常严格。它不允许在未经身份验证的情况下访问目录。这是在 httpd.conf 的 Directory 部分中定义的:

\n
<Directory>\n   AllowOverride none\n   Require all denied\n</Directory>\n
Run Code Online (Sandbox Code Playgroud)\n

将 \xe2\x80\x9crequire all granted\xe2\x80\x9d 指令添加到虚拟目录部分将授予访问权限。

\n
Alias /static/ /home/username/sites/myblog/static/\n<Directory /home/username/sites/myblog/static>\n   AllowOverride All\n   Order allow,deny\n   Allow from all\n   Require all granted\n</Directory>\n
Run Code Online (Sandbox Code Playgroud)\n


小智 5

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

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

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

  2. Find <IfModule unixd_module>,评论应该是这样的:

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

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

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

    使用默认值UserGroup设置为daemon.

  3. 编辑UserGroup

例如:

<IfModule unixd_module>
  User mrJohn
  Group mrJohn
</IfModule>
Run Code Online (Sandbox Code Playgroud)

我希望这是有用的。