2011-05-11 64 views
1

我有一個基於WordPress的php應用程序在ubuntu服務器上的apache上運行。我開發了一個新版本的應用程序,我只希望某些用戶訪問該測試版。 我的服務器的結構是這樣的:
/無功/網絡/網站
在/ var/WWW/betasite測試版用戶有不同的文檔根目錄嗎?

我不希望這些用戶運行不同的域/子域名的網站。這兩個網站都應該運行相同的WordPress數據庫,因此需要相同的域名。基於會話/ cookie更改wordpress主題也不是一種可能性,因爲我擁有大量位於wp-content/themes文件夾之外的資產/插件。

我在考慮給beta用戶一個cookie,並用這些cookie將請求重定向到新的文檔根目錄。我一直在嘗試使用htaccess的mod_rewrite,但經過很多實驗後,我發現mod_rewrite無法重定向到apache文檔根目錄之外的東西。
我需要一個基於請求頭中的cookie的虛擬主機設置。有任何想法嗎?

回答

1

在單獨的(子)域下運行它確實是最好的選擇。如果兩個站點版本都可以使用相同的數據庫模式,則沒有理由不能在兩個實例之間使用同一個數據庫。

你可能會看到的唯一問題是一個WordPress的具體問題。例如,數據庫中可能有一個配置表,其中包含當前域名或主機名的字段。我的建議是簡單地更改/修復wordpress代碼,以便它可以在沒有此變量的情況下工作,只需從$_SERVER變量中檢測正確的主機名即可。

+0

嗯別名。我仍在環顧四周。我正在嘗試使用mod_proxy_balancer來找出具有單個域名的解決方案。 – Munim 2011-05-11 12:52:55

-1

嘗試在你的虛擬主機配置

<VirtualHost *:80> 

    #config... 

    <Directory "/path/to/doc/root"> 
     #config... 
    </Directory> 

    Alias /beta /path/to/beta/root 
    <Directory "/path/to/beta/root"> 
     #config.. 
    </Directory> 

</VirtualHost> 
+0

這將改變我的應用程序的鏈接結構。我不想創建別名。我只想讓測試版用戶使用類似cookie的方式訪問測試版。 – Munim 2011-05-11 12:51:34

相關問題