0

Apache の仮想ホストの DocumentRoot を変更しようとしています。仮想ホストの DocumentRoot 設定は無視され、代わりに DocumentRoot 全体が使用されています。

私の場合、/Applications/AMPPS/www/public をルート フォルダーとして使用する代わりに、Apache は /Applications/AMPPS/www を使用しています。

httpd.conf ファイルの関連部分を以下に示します。誰かが問題を見ますか?

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory,  but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/Applications/AMPPS/www"

...snip...

<VirtualHost 127.0.0.1:80>
<Directory "/Applications/AMPPS/www">
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
allow from All
</Directory>
ServerName localhost
ServerAlias localhost 127.0.0.1
ScriptAlias /cgi-bin/ "/Applications/AMPPS/www/cgi-bin/"
DocumentRoot "/Applications/AMPPS/www/public"
ErrorLog "/Applications/AMPPS/apache/logs/error_log"
CustomLog "/Applications/AMPPS/apache/logs/access.log" combined
</VirtualHost>
4

1 に答える 1

0

が使用されていないようです。これは、メイン サーバー構成の がアクティブであるVirtualHost理由を説明しています。DocumentRootおそらく、ブロックNameVirtualHostの前に追加する必要があります。VirtualHostこのような:

NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1:80>
...

またServerAlias、そこにある両方の全体が何もしていないため、ディレクティブを完全に削除します。localhost を ServerName として持っており、IP アドレスを受け入れないため、そこに localhost を複製する必要はありません。IP アドレスは、VirtualHostそれに割り当てられた最初の一致で提供されます。

参照: NameVirtualHost ディレクティブ

NameVirtualHost は Apache 2.4 で削除されたため、以前のリリースを使用していると想定しています。2.4以降はそれなしで動作します。

于 2016-12-26T06:36:36.533 に答える