2009-08-11 71 views
0

不太確定如何對此進行描述,但會盡我所能。使用PHP的子域應用程序的策略

我有(用PHP編寫的),我想的地方安裝這樣的應用程序:

/app/build/1.0/ 

現在,我希望能夠建立子域,像這樣:

http://sub1.mydomain.com 
http://sub2.mydomain.com 
etc .. 

首先,我想在子域中放置至少#個文件(我想只是一個配置文件),並指向所有php文件的構建文件夾。

但是,在子域具有某種自定義的情況下,我希望能夠將自定義文件實際放置在子域中,然後應用程序會使用它(換句話說,應用程序首先查找本地文件,如果它存在使用它,否則使用默認的生成文件夾文件)。

最後,如果我釋放1.1,我應該簡單地能夠將子域重新指向1.1文件夾。

我對此有一個基本的瞭解,以及我如何實現它,但是我在尋找的是另一種想法,或者我可能面臨的問題(或者其他我可能沒有考慮過的問題,例如我可能沒有看到的可伸縮性問題或者我走這條路線時可能無法做的其他事情)。底線問題:這是一個好主意還是壞主意,爲什麼?

回答

2

我假設每個子域中的配置文件意味着每個站點都會存在配置差異,因此您無法將所有未定製的站點合併到一個文件夾中,並且只是將子域指向它(在DNS)。

我已經建立了網站,這樣的子域將有一個index.php文件。 index.php文件將定義一堆配置選項,然後調用與startApp()等效的東西。每個站點都將其包含路徑設置爲包含應用程序文件。這可以在apache配置或index.php文件中完成。

如果您想自定義一個網站,那麼您可以將包含路徑更改爲指向自定義代碼,如果需要,您可以將其保留在該網站文件夾中。

老實說,我認爲更難的問題是保持所有的定製記錄和更新。但這是一個完全不同的問題。

+0

雖然斯科特有趣的想法。任何方式讓PHP知道子域名?如果是這樣,我可以使用它爲DB創建一個前綴。 – OneNerd 2009-08-11 15:24:31

+0

$ _SERVER ['SERVER_NAME']應該給你。見:http://us3.php.net/manual/en/reserved.variables.server.php – 2009-08-11 15:27:39

+0

很酷。我會試一試 - 如果它有效的話,不要將你的答案標記爲已接受 - 給我一個星期左右的時間來通過步伐。謝謝:) – OneNerd 2009-08-11 15:44:06

相關問題