2011-07-13 63 views
2

我想知道在創建Web應用程序時啓用自定義域的最佳方式。例如,如果你看看像大本營這樣的東西,當你註冊時你會創建你自己的'子域',你用它來登錄你的大本營。允許爲Web應用程序項目使用自定義域名

另外,如果您看起來像託管的電子商務網站一樣,您可以使用自己的自定義域而不是使用他們的子域。

就我個人而言,如果使用像Base Camp這樣的子域,我無法在Web應用託管帳戶中看到這些Web應用「停用」每個自定義域或添加DNS。

因此,我可以考慮動態地做這樣的事情的唯一方法是,也許可以使用mod_rewrite將所有內容重定向到某個基於url的「路由」腳本。然後,對於客戶域,客戶只需將其域名的CNAME添加到custom.webappname.com之類的東西,然後再通過mod_rewrite和php路由文件獲取。

如果這是最好的方式,是否有任何性能問題通過此路由文件路由所有傳入的請求?

對不起,如果我不清楚,試圖解釋我能做到的最好。

回答

0

是的,您的解決方案將是最好的方法。這就是其他網站的做法。通過使用重寫規則的中央文件重新發送所有請求會導致性能降低,但它非常值得。

事實上,在大多數應用中,您已經已經支付罰款。任何使用FrontController模式的框架已經完全實現了這一點。這包括幾乎所有的框架,比如Zend,Symfony 1和2,CakePHP,CodeIgniter等等。

0

你有正確的想法。您保留一個代碼庫,在單個IP上運行(爲了論證)。你不必擔心虛擬主機,甚至mod_rewrite(除了你的應用程序需要)。

你的web應用程序只是處理任何和所有的IP請求(端口80或443,或其他)。

當響應請求您的應用程序引導程序,它在偷窺$ _ SERVER [「HTTP_HOST」],並自己配置爲與該域名相關聯的客戶端。如果沒有找到,404s或最有意義的東西。

+0

感謝您的支持。那麼路由應該靜態存儲在文件中還是可以動態地從DB等路由? – Dan

相關問題