2014-08-28 11 views
1

我有一個umbraco v 4.7.2並且應該執行用戶激活。 當新用戶在網站上註冊時,它會收到帶有激活鏈接的電子郵件。模擬一個重定向到umbraco中的一個動作v 4.7.2

說,該鏈接是

http://www.example.com/activate?user=john&?activationCode=s0m3Act1vat1on_c0d3 
在一把umbraco的BackOffice

,有一個頁面,位於一些任意位置,說

siteRoot\aFolder\UserActivation 

我有一把umbraco多個站點(說「例1 EN 「,」Example1 FR「,」Example2 EN「)。 每個網站都有其自己的激活頁面(即處理激活)。要在代碼中獲取該頁面的地址,我在該站點的主頁上創建了一個ContextPicker參數(名爲ActivationPage)。

我應該如何將固定路徑mysite.com/activate?+params重定向到ActivationPage以便處理激活?

如果我使用URLRewrite,該模塊如何訪問個人網站的設置?

PS。當我說模擬一個重定向到一個動作時,我的意思是,因爲我們沒有真正的控制器/動作機制(即使umbraco 4可以支持它,我也不確定)

回答

0

你不需要MVC來做到這一點。您只需要重寫或重定向請求的功能。

因此,您可以使用〜/ config/UrlRewrite.config文件添加重定向,或者如果您使用的是IIS7 +,則可以使用UrlRewrite2模塊並在web.config中指定重定向路徑。

編輯:

基於新的信息,你要麼需要在查詢字符串,標識目標站點的參數。這樣你可以很容易地使用UrlRewrite.config或IIS的UrlRewrite2模塊。

如果你不能這樣做,那麼你需要在地址http://www.example.com/activate上有一個物理髮布的頁面或文件。這將不得不通過masterpage的codebehind類爲您做重定向。

+0

要獲取重定向URL,URLRewrite應該訪問爲每個具體站點指定的「ActivationPage」參數。 Usualy,url重寫需要一個URL並給出另一個,而不管具體的站點特定參數,是不是?說,我有mysiteEN mysiteFR myothersiteES和每個網站都有自己的地址來激活用戶 – serhio 2014-08-28 09:23:48

+0

您可以輕鬆地將查詢字符串參數傳遞到重定向的URL。但是,如果你的場景比簡單的重定向更復雜,那麼你應該在你的問題中詳細說明這一點。 – Digbyswift 2014-08-28 09:39:52

+0

在站點根節點中,我聲明瞭一個泛型參數'ActivationPage',它指定了激活應該被處理的URL。所以,當我收到example.com/activate?+params時,我應該1)從網站根節點恢復重定向網址,2)重定向到網址。 「UrlRewrite」模塊如何識別目標站點及其根節點參數? – serhio 2014-08-28 11:02:07

相關問題