Apache虚拟主机在其他文件夹中的文档

我想在我的Apache中设置一个ov VritualHost,但是我想把这些虚拟主机的DocumentRoot放在基本的www文件夹之外的文件夹中。 恰巧我得到了“拒绝许可”的许可。 我的httpd.conf如下:NameVirtualHost *:80

<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /home/giuseppe/www ServerName www.example.com/www ErrorLog logs/host.www.projects-error_log CustomLog logs/dummy-host.example.com-access_log common <Directory "/home/giuseppe/www"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /home/developper ServerName www.example.com ErrorLog logs/host.developper-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost> 

编辑:

我试图将用户组权限更改为www文件夹。 但没有成功。 我认为这个问题是ServerName。

  VirtualHost A ServerName www.example.com VirtualHost B Servername www.example.com/www 

也许ServerName必须是有效的DNS? 像www.example.com和site2.example.com一样,不是一个简单的

你可以把你的DocumentRoot放在你想要的地方,没有特别的限制。

所以正如错误信息所述,你的问题只有文件和目录权限。

Apache用户必须能够走到这些documentRoots并在那里读取文件。 所以你应该调整几件事情:

  • 请检查apache用户或组对这个目录下的目录和文件的读权限
  • 检查他是否拥有所有父母目录的执行权
  • 检查你没有SELinux或这样的安全工具添加更多的约束(检查Apache日志和系统日志)