4

この質問では、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 またはパーミッションを設定するにはどうすればよいですか?

4

3 に答える 3

1
  1. ターゲットファイルとそのすべての親ディレクトリに対するファイル権限が、Webサーバーユーザー(おそらくwww-data)からアクセス可能であることを確認してください。世界的に読み取り可能な許可で十分です。セキュリティをそれほど気にしない場合(つまり、これは本番システムではない場合)、次のようにすることができます。 chmod o+rx /Users/myusername/Projects /Users/myusername/Projects/Test1; chmod o+r /Users/myusername/Projects/Test1/test.html
  2. そのターゲットディレクトリの動作を禁止しているブロックがないこと<Location>を確認してください。<Directory>
  3. パスへのアクセスを許可するブロックがあることを確認してください。通常、Apacheは、ホームディレクトリを含まないデフォルトの場所へのアクセスのみを許可します。これを行うには、以下を一時的に追加します(アクセス許可の問題を修正した後で削除します。そうしないと、アクセスが多すぎます)。<Directory>/Users/myusername/Projects/Test1

-

# This is a temporary debugging tool, don't leave it forever.
<Directory "/">
  Options Indexes FollowSymLinks
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>
于 2012-05-19T01:03:45.643 に答える
1

ターゲット ファイルを提供するには、Apache ユーザー (おそらく www-data) が読み取り可能である必要があります。ほとんどのユーザーは、含まれているファイルを読み取ることができるかどうかに関係なく、含まれているファイルのリストを表示するためにディレクトリで実行できるため、ディレクトリは異なります。

于 2012-05-17T15:48:31.600 に答える
0

chmodまたはchgrp(最悪の場合はchown) を使用して、少なくとも Apache Web サーバーによるファイルの読み取りと実行に適切なアクセス許可を設定してみてください。

于 2012-05-22T14:08:51.283 に答える