2012-03-19 58 views
2

我正在使用PHP上的Zend Framework構建一個SaaS應用程序。這是項目的基本信息。其SaaS模式下的項目管理系統。當用戶註冊的網站上,他們將獲得一個域名,如格式:在Zend框架上構建一個SaaS應用程序

user_name.pms.com

USER_NAME - 所選擇的用戶名時,在項目管理系統(PMS)

註冊用戶

pms.com - 是主要的SaaS服務器。

目前我們在服務器上提供子域。對於大公司來說,它看起來不太好,他們可能更喜歡自己的域名,而不是默認域名。因此,有可能是:

user_name.pms.com [總是存在]

user1.com [自定義或用戶的獨立域名]這個自定義域需要鏈接到默認用戶的URL。

完整的網站正在計劃使用Zend框架進行開發。

在Zend框架,我們正在爲它工作的根文件夾具有以下的.htaccess並低於:

SetEnv APPLICATION_ENV development 
RewriteEngine On 
RewriteRule .* index.php 

這裏是我的問題:

  1. 我真的需要創建子所有用戶一旦在網站上註冊了域名就像個人資料網址?

  2. 如果需要創建Sub Domains,PHP可以檢查所選的子域是否存在,並且可以從腳本本身創建Sub Domains?

  3. 如果不需要子域,我們可以在Zend安裝中使用HTAccess實現相同的目標嗎?

  4. 你能提供HT接入代碼執行以下操作:

「user_name1.pms.com」 需要重定向到 「pms.com」

「user_name1.pms.com /聯繫人「需要重定向到」pms.com/contact「

即任何請求的子域名,如URL必須重定向到主網站的格式:pms.com,然後是查詢字符串。

非常重要:

重要1:

當我說重定向到主網站,我需要保持像URL子域的地址欄上,但該請求將通過主網站提供服務。

即將從pms.com/contact提供「user_name1.pms/contact」,但在地址欄上我們仍然會看到url「user_name1」。PMS /接觸」

重要2:

每當我們使用.htaccess的請求重定向到主Zend服務器,我可以識別的實際URL地址欄即進入‘site1.pms或site1.com’ ?

自定義域重定向的另一個問題:

自定義域名,如 「site1.com」 或 「site2.com」 需要重定向到之一:

方案(a):「PMS。 com「 選項(b):」site1 .pms.com

爲服務請求。在這裏,我需要保持地址欄上的網址與輸入的用戶相同。

  1. 上述選項哪個更好(a)或(b)?

  2. 哪種技術可以完成這項工作,域映射或CName?或任何其他技術,使這項工作。

+0

如果您使用Apache,您可以爲您的域創建通配符別名,然後如果用戶與PHP的存在,你可以檢查。所以你會知道,如果用戶存在數據庫你好去.. – Vytautas 2012-03-19 10:47:53

+0

好的,謝謝。我會檢查這一點。 – 2012-03-20 04:54:41

回答

0

可以使用CPanel中的某種技術處理子域。要的cPanel添加vurtual子域,做的步驟:

  1. 選擇「的cPanel - 子域名」
  2. 輸入星,並選擇您的域名
  3. 選擇的目錄中,你需要重定向

並處理您的頁面重定向。

要開發使用Zend SaaS應用程序,檢查教程SaaS application development using PHP in Zend Framework

1

有幾種方法,讓你至少接近你想要什麼......但讓所有的方式在那裏,你將需要得到更深入一點。

首先,你的問題:

  1. 可能需要真正建立一個完整的虛擬主機對每個用戶來說,如果你打算讓他們能夠通過自己的與您的網站互動域。如果你只是想讓他們的域名重新定向到你的註冊服務商(如果他們能夠成功使用屏蔽,我一直髮現有問題,但可能完全沒有這樣做,如果你忽略了定製域名要求,那麼你可以完全通過mod_rewrite管理子域名,而不必實際設置它們。
  2. 可能是您的網站的最佳體系結構是主動設置用戶註冊時需要設置的任何內容。嘗試在用戶第一次嘗試訪問它時「及時」執行此操作,因此就像在某人輸入usre.pms.com而不是user.pms.com時顯示錯誤一樣簡單
  3. 您可以使用htaccess或您的網站的配置文件(這對性能更好,但僅限於「完成」目的,htaccess會正常工作)。
  4. Google

很重要的一點#1:這是怎樣的mod_rewrite的作品。別擔心。 很重要的一點#2:是的,只要你有這些信息沿着你的mod_rewrite規則傳遞

上一個自定義域名重定向的問題:

這就是事情變得複雜。如果沒有apache充分意識到它正在尋找site1.com(除非您在轉換時使用掩碼在註冊服務商處沒有問題地進行工作),您不能從pms.com服務site1.com。一般來說,如果您使用某種類型的轉發,那麼您會希望它們轉發到子域,並且所有通過mod_rewrite完全變好。如果他們直接將域指向您的服務器,那麼CNAME記錄可能是正確的選擇,直接指向子域,但您仍然必須瞭解虛擬主機以及如何正確設置虛擬主機以使所有內容都能正常工作。

我認爲您可能正在通過讓您的客戶擁有自己的自定義域名而超過您的實現進行登錄。您可以在下午或幾天內學習如何使用子域名完成您想要的任務。弄清所有的來龍去脈使用自定義域名可能需要更長的時間。

+0

謝謝你的答案。你解決了我的所有問題。現在輪到我檢查所有這些了。我會盡快更新我的研究結果。 – 2012-03-20 04:56:18