好的,我在两台 Windows 7 机器上运行 Apache,用作测试环境。我的想法是将所有项目放在共享网络路径上,这样我就可以随时用我的台式机或笔记本电脑访问它。
使用我的用户帐户运行 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>
Windows hosts 文件设置正确,因为将路径更改为本地 apache htdocs 工作正常,并且我可以在浏览器中毫无问题地访问本地站点。
我的困惑是这样的;apache 手册指出,apache 无法以没有网络路径访问权限的用户身份访问网络路径。但是,由于 apache 控制台正在运行我的账户它肯定可以访问网络路径,为什么它不起作用?我检查了进程菜单,它肯定在我的账户而不是系统。根据错误消息,出于某种原因,apache 正在尝试查看本地目录而不是网络目录?
有什么想法吗?如果我能弄清楚为什么 apache 尝试将网络路径作为本地路径访问,我想应该可以解决这个问题,但我在这里完全不知所措。
答案1
ID10T 错误!!!我需要在 DocumentRoot 和配置中使用正斜杠 (/) 而不是反斜杠 ()。我感到很痛苦,但我的问题解决了。我将把这个留在这里,以备后人参考和谦逊。