0

私は私の中にこの設定を持っていますhttpd-vhosts.conf:

<Directory "/Users/uername/Library/Mobile Documents/com~apple~CloudDocs/Sites">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
</Directory>
<Virtualhost *:80>
    VirtualDocumentRoot "/Users/uername/Library/Mobile Documents/com~apple~CloudDocs/Sites/_localhost"
    UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
   VirtualDocumentRoot "/Users/uername/Library/Mobile Documents/com~apple~CloudDocs/Sites/%2"
   ServerName sites.dev
   ServerAlias www.*.dev
   ServerAlias www.*.dev.*.xip.io
   UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
    VirtualDocumentRoot "/Users/uername/Library/Mobile Documents/com~apple~CloudDocs/Sites/%1"
    ServerName sites.dev
    ServerAlias *.dev
    ServerAlias *.dev.*.xip.io
    UseCanonicalName Off
</Virtualhost>

Web サイトにアクセスしようとすると、403 禁止ページが表示されます。Apache エラー ログを調べると、次のように表示されます。

[Sun Jun 26 12:09:12.310868 2016] [core:error] [pid 1272] (13)Permission denied: [client 127.0.0.1:50110] AH00035: access to /favicon.ico denied (filesystem path '/Users/username/Library/Mobile Documents') because search permissions are missing on a component of the path, referer: http://site.dev/

パスが で止まる理由がよくわかりませんMobile Documents。すべてのフォルダーが存在index.phpし、ルートにファイルがあり、403 エラーを説明するものは他にありません。

ここで何が欠けていますか?どうすればこの問題を解決できますか?

4

1 に答える 1

1

ああ、私は問題を解決しました。最善の方法ではないかもしれませんが、うまくいくので、誰かがより良いアイデアを持っている場合は共有してください. 私の解決策:Apacheが実行されていたユーザーとグループを_wwwから自分のユーザー名とグループに変更しました。私はこの解決策を使用しました: https://coolestguidesontheplanet.com/forbidden-403-you-dont-have-permission-to-access-username-on-this-server/

Apache Web ユーザーの変更

Users/username/Sites フォルダーを使用する際のフラストレーションの 1 つは、更新や認証などのアクセス許可の問題です。

これは、実行されるデフォルトの Web サーバー ユーザーがhttpdとして知られているためです。これは_www、ローカル アカウントのユーザーではありません。マシンを自分だけが使用していて、ウェブサーバーが自分のアカウントでのみ実行される場合は、ユーザーを変更できます。

これを元に戻します/etc/apache2/httpd.conf

osx-ヨセミテ-webserveruser

ユーザー名とグループに変更するだけで、グループはスタッフになり、Apacheを再起動します

sudo apachectl restart

于 2016-06-26T10:44:11.143 に答える