Apache-2.2
具有公共文件的多個站點的 Apache 設置
剛剛意識到我錯誤地將這個發佈在堆棧溢出上,所以它在正確的位置!
我有大約 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 開啟
有什麼建議?
似乎預設情況下 public_html 文件夾的權限為 750,我更改為 755 並更新了 open_basedir 限制,一切都開始正常工作。
我只需要確保每個站點仍然可以擁有一個 .htaccess。
您在某處遇到了 htaccess 文件的問題。
如果您的所有配置都在 /etc/apache2 內,您甚至不需要啟用 htaccess 文件支持,並且可以通過禁用它來獲得小幅加速。
你也可以使用類似 mod_vhost_alias 的東西來簡化你的配置。