さて、テスト環境として使用するために、2つのWindows7ボックスでApacheを実行しています。アイデアは、すべてのプロジェクトを共有ネットワークパス上に保持して、デスクトップまたはノートブックからいつでもアクセスできるようにすることです。
ネットワークパスにアクセスできるユーザーアカウントMyAccountを使用してApacheをコンソールとして実行すると、次のエラーが発生します。Warning: DocumentRoot [C:/EMMA/users/*MyAccount*/Documents/*MyWebsite*/] does not exist
私がしたことはすべてhttpd-vhosts.conf
ファイルhttpd.conf
そしてvhosts設定に以下を追加しました:
<VirtualHost *:80>
DocumentRoot "\\EMMA\users\MyAccount\Documents\MyWebsite"
ServerName MyWebsite
ErrorLog "logs\MyWebsite-error.log"
CustomLog "logs\MyWebsite-access.log" common
<directory "\\EMMA\users\MyAccount\Documents\MyWebsite">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</directory>
</VirtualHost>
ローカルのApachehtdocsへのパスの変更は正常に機能し、ブラウザーで問題なくローカルサイトにアクセスできるため、Windowsのhostsファイルは正しくセットアップされています。
したがって、私の混乱は次のとおりです。 Apacheのマニュアルには、Apacheはネットワークパスにアクセスせずにユーザーとしてネットワークパスにアクセスすることはできないと記載されています。ただし、ApacheコンソールはMyAccountとして実行されており、ネットワークパスに確実にアクセスできるので、なぜこれが機能しないのですか?プロセスメニューを確認しましたが、システムではなくMyAccountで確実に実行されています。何らかの理由で、エラーメッセージに基づいて、Apacheはネットワークディレクトリではなくローカルディレクトリを調べようとしていますか?
何か案は? Apacheがローカルパスとしてネットワークパスにアクセスしようとしている理由を理解できれば、それで修正できると思いますが、ここでは完全に途方に暮れています。
ID10Tエラー!!! DocumentRootと構成では、バックスラッシュ()の代わりにスラッシュ(/)を使用する必要がありました。聞いたことが痛いのですが、問題は解決しました。後世と謙虚さのためにこれをここに残しておきます。