2

我有大约 50 个站点,它们都使用除 CSS 和 IMAGES 之外的完全相同的文件,我目前每次创建新站点并上传不同的 css 和图像时都会复制这些文件。

我想要这样做将每个虚拟主机设置为具有相同的DocumentRoot,然后为 css 和 images 文件夹添加AliasMatch,例如:

#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 开启

有什么建议么?

4

3 回答 3

2

似乎默认情况下 public_html 文件夹的权限为 750,我更改为 755 并更新了 open_basedir 限制,一切都开始正常工作。

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

于 2009-11-16T14:40:02.880 回答
0

听起来 AliasMatch 不是问题,错误消息指向您的 htaccess 文件。你检查过权限吗?它属于哪个用户?

于 2009-11-16T11:23:00.297 回答
0

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

于 2009-11-16T22:10:42.113 回答