web-dev-qa-db-ja.com

WindowsでのApacheUNCネットワークパス?

さて、テスト環境として使用するために、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がローカルパスとしてネットワークパスにアクセスしようとしている理由を理解できれば、それで修正できると思いますが、ここでは完全に途方に暮れています。

2
DrPerdix

ID10Tエラー!!! DocumentRootと構成では、バックスラッシュ()の代わりにスラッシュ(/)を使用する必要がありました。聞いたことが痛いのですが、問題は解決しました。後世と謙虚さのためにこれをここに残しておきます。

1
DrPerdix