繁体   English   中英

别名 403 禁止使用 Apache

[英]Alias 403 Forbidden with Apache

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

我在文档根目录中创建了一个名为 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>

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

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

有任何想法吗?

如果您使用的是 apache 2.4

订单允许、拒绝
允许所有

变成...

要求全部授予

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

我知道它很旧但只是为了记录,以下在 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>

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

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require local

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

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

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

  1. 在文本编辑器中打开位于/opt/lampp/etc/httpd.conf的“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>

我希望这是有用的。

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

当我访问虚拟目录时出现错误“禁止访问。 发生错误 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>

别名 /data /media/pi/VOLUME

.....

期权索引 FollowSymLinks MultiViews

允许覆盖所有

需要本地

在本地主机的 Raspbian 上运行良好

我能够访问文档根目录之外的目录,但是使用了原始问题中建议的方法到这个线程。

   # 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM