2013-10-31 99 views
0

我有一臺主機,它允許多個插件域和我的文件夾結構類似於此:託管服務器上的多個站點,實現資源共享

public_html 
- site1.com 
- site2.ca 
- site3.tk 
- codeigniter 

每個站點的文檔根目前設置爲/的public_html/site1的。 com,public_html/site2.ca等...

我在一些網站上使用CodeIgniter。 public_html中的codeigniter文件夾與我剛剛重命名的名爲「system」的文件夾相同。我發現在網站的PHP代碼中,我可以在index.php中:

$system_path = '../codeigniter'; 

這可以在我的測試本地服務器上工作。我還沒有嘗試過我的主機,但我認爲它也應該在那裏工作。這似乎是一個很好的效率提高。

我現在想要做的是有同樣的效率,但與CSS,JS,圖像和其他前端資產。天真,我試圖把這樣的事情

public_html 
- site1.com 
- site2.ca 
- site3.tk 
- codeigniter 
- js 
- css 
- img 

在我的網頁我有這樣的:

<script src=/../js/app.js></script> 

現在我想想,這顯然是行不通的或客戶端資產。

事情是我已經建立了一個開發環境,在這個開發環境中我感到很舒服,並且我希望一次又一次地使用它來處理我的新網站。我目前正在將舊項目的所有前端資產複製到新項目中,但它們不會針對每個項目進行更改。我想知道是否有更好的方式來託管這些靜態資產,以便它不會被重複用於每個站點。也許沒有,我應該繼續複製?

+0

您可以在第二版中顯示的結構中設置絕對路徑。您可以通過多種方式設置資產路徑常數或方法 – charlietfl

回答

1

我不認爲以你描述的方式分享資源是明智的,這部分來自於經驗。如果您將多個站點連接到一個後端,則意味着您必須升級所有站點才能升級其中一個站點。

複製它們可能看起來很浪費,但除非你有很好的理由,否則我會強烈反對。

如果您希望優化性能,您可能會先嚐試其他方法。

+0

我沒有想過升級。我將重命名codeigniter文件夾爲codeigniter-2.1.4,並在出現後添加更新版本。我將通過更改$ system_path來測試每個站點,並查看它們是否可以使用新版本。 – BringMeAnother

0

不知道關於CSS和IMG,但JS資產我這一行添加到虛擬主機中的apache.conf

<VirtualHost *:80> 
// usual stuff ... 
Alias /js /var/www/whereyourjsfolderis/js 

你可能想這樣做,共同CSS和圖像文件夾,我想

Alias /js /var/www/whereyoursharedfolderis/sharedcss 
相關問題