在Apache和PHP上设置站点文件夹

我试图在家里的Windows PC上设置我的第一台Apache服务器,而且我真的很难find哪个configuration设置在哪里。 我下载并安装了XAMPP,它似乎可以很好地设置一切,并可以在http:// localhost上看到一个可用的网站。 到现在为止还挺好。

这个的目的是开发一个网站,当然,为了让我的生活更轻松(讽刺?),我想让网站的根目录到我的Eclipse项目文件夹。 所以我打开httpd-vhosts.conf,取消注释一个VirtualHost块,并将其DocumentRoot改为我的本地path。

现在,当我尝试加载http:// localhost我得到一个403(访问被拒绝)错误。 那么我在哪里configuration我的文件夹的权限? 而这就是我需要让我的网站从指定的文件夹运行,或者我将不得不清除另一个障碍?

更新:我试图简化一些东西,所以我重新安装XAMPP,并返回到一个工作的http:// localhost 。 然后我确认httpd-vhosts.conf包含在httpd.conf中,并对httpd-vhosts.conf进行了以下更改:

  1. 取消注释行NameVirtualHost *:80
  2. 添加了如下所示的虚拟主机。 重新启动Apache,并在http:// localhost上看到期望的页面

    <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/" ServerName localhost ErrorLog "logs/dummy-host2.localhost-error.log" CustomLog "logs/dummy-host2.localhost-access.log" combined </VirtualHost> 
  3. 然后,我创build了一个名为C:\ testweb的新文件夹,添加了一个index.html文件并更改了上面显示的DocumentRoot行。 对于所有的意图和目的,我会期望这两种configuration是等价的。 但是这个设置给了我一个错误403。

  4. 即使C:\ testweb文件夹已经具有与C:\ xampp \ htdocs文件夹相同的权限,然后我又进一步,给了Everyone组完全控制C:\ testweb,并得到完全相同的问题。

那么我错过了什么?

我希望我能理解你的问题。 但是我觉得你让它有些复杂。

你只想设置你的DocRoot到另一个文件夹?

然后转到“C:/xampp/apache/conf/httpd.conf

浏览到第215行,我希望它是相同的,我不知道你有哪个版本。 有一个MainRoot目录。

 # # This should be changed to whatever you set DocumentRoot to. # <Directory "C:/xampp/htdocs"> 

有一个有用的评论在线。 当你将它设置为“C:/ testweb /”时,你可以通过http://localhost/index.html进行访问,并且在registry中改变值并不是很好。

我希望已经理解你的问题是正确的。

编辑:

对于一个新的VHost,你首先需要一个新的域名到“C:\ windows \ system32 \ drivers \ etc \ hotsts”设置一个新的域名如:

 127.0.0.1 new.localhost.com 

然后,你可以创build与您的configuration的虚拟主机,并将ServerName设置为new.localhost.com我认为那么它应该工作。

如果我没有弄错,Apache在你的机器上加载它时会创build自己的文件夹目录。 你可以在技术上将你的Eclipse项目文件夹指向那里并以这种方式访问​​它。 就共享而言,您所要询问的是原始文件夹,您应该可以右键单击该文件夹,转到属性,然后select共享选项卡,单击共享,然后将自己添加为完全控制的用户。 这取决于你运行的Windows版本是什么,但理想情况下,它类似于XP到7。