繁体   English   中英

在Sites目录中创建到另一个目录中文件的符号链接

[英]Creating a symbolic link in Sites directory to a file in another directory

这个问题解决了如何在Sites目录中启用符号链接。 但是,它仅适用于目录。

使用FollowSymLinks ,OS X上的Apache将遵循目录的符号链接,但不遵循文件的符号链接。

例如:

这有效: 〜/ Sites / Experiments-> / Users / myusername / Projects / Experiments /

这将失败: 〜/ Sites / test.html-> /Users/myusername/Projects/Test1/test.html

Forbidden 
You don't have permission to access

如何配置Apache或权限,以便Apache遵循文件符号链接?

目标文件需要由Apache用户读取(可能是www-data)才能提供。 目录不同,因为大多数用户能够在目录上执行以查看包含的文件列表,而不管他们是否可以读取其中包含的文件。

  1. 检查您的网络服务器用户(可能是www-data)是否可以访问目标文件及其所有父目录的文件许可权。 世界可读的权限就足够了。 如果您不十分在乎安全性(意味着这不是生产系统),则可以执行以下操作: chmod o+rx /Users/myusername/Projects /Users/myusername/Projects/Test1; chmod o+r /Users/myusername/Projects/Test1/test.html chmod o+rx /Users/myusername/Projects /Users/myusername/Projects/Test1; chmod o+r /Users/myusername/Projects/Test1/test.html
  2. 确保您没有任何禁止该目标目录工作的<Location><Directory>块。
  3. 确保您确实有一个<Directory>块,该块允许访问/Users/myusername/Projects/Test1路径。 通常,Apache仅将访问权限授予不包含您的主目录的默认位置。 您可以通过临时添加以下内容来做到这一点(在解决权限问题后将其删除,否则它将提供过多的访问权限):

--

# This is a temporary debugging tool, don't leave it forever.
<Directory "/">
  Options Indexes FollowSymLinks
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

尝试使用chmodchgrp (在最坏的情况下,使用chown )来设置适当的权限,以至少由Apache Web服务器读取和执行文件。

暂无
暂无

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

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