2009-11-16 18 views
2

我有大约50个网站,所有使用完全相同的文件,而不是CSS和IMAGES,我目前每次创建一个新的网站,并上传不同的CSS和图像时,复制文件。Apache设置多个网站与共同文件

我想这样做设置每个虚拟主机具有相同的的DocumentRoot什么再加入AliasMatch的CSS和图片文件夹,例如:

#Common Files VHOST 
<VirtualHost xxx.xxx.xxx.xxx:80> 
    ServerName commonfiles.com 
    ServerAlias www.commonfiles.com 
    DocumentRoot /home/commonfiles/public_html 
</VirtualHost> 

#Sample vhost for 1 of the 50 sites. 
<VirtualHost xxx.xxx.xxx.xxx:80> 
    ServerName mytest.com 
    ServerAlias www.mytest.com 
    DocumentRoot /home/commonfiles/public_html 
    ...... 
    AliasMatch /css/(.*) /home/ftpuser/public_html/mycss/$1 
</VirtualHost> 

别名作品完美的定制文件,但通用文件不能访问,因为权限错误:

[Mon Nov 16 09:31:01 2009] [crit] [client xxx.xxx.xxx.xxx] (13)Permission denied: /home/commonfiles/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable 

这是当前服务器的设置,我认为可能是问题的一部分(以前的服务器管理员此设置):

  • 阿帕奇(Apache的/ 2.2.14(Unix的)
  • PHP 5.2.11
  • 的CentOS 4.8 i686的标准
  • PHP 5处理器是DSO
  • 的Apache的suEXEC是

有什么建议?

回答

2

看起来,默认情况下,public_html文件夹的权限为750,我更改为755,并更新了open_basedir限制,并且所有这些限制都开始很好。

我只需要确保每个网站仍然可以有.htaccess。

+0

也许你想标记这个答案并编辑你的OQ? – ChrisR 2009-11-16 22:46:26

+0

我会但你必须等待48小时才能接受你自己的答案 – Lizard 2009-11-17 07:48:21

0

听起来不像AliasMatch是问题,错误信息指向您的htaccess文件。你有没有检查权限? Wbich用户是否属于?

+0

是的别名匹配是好的,例如:/home/commonfiles/public_html/.htaccess有644个commonfiles:commonfiles – Lizard 2009-11-16 11:36:30

+0

尝试给整个目录644.这有帮助吗? – 2009-11-16 11:40:25

+0

改变目录为644没有帮助,所以作为测试我设置.htaccess和public_html到777这然后给了我一个单独的错误PHP致命错误:无法加载/home/commonfiles/public_html/index.php,open_basedir限制。在未知的第0行 – Lizard 2009-11-16 12:13:02

0

另一种解决方案是在每个域上创建指向公用文件所在文件夹的符号链接。

相关问题