2017-04-19 73 views
0

我正在嘗試將我的ASPX網站遷移到Kentico,並且作爲我的任務的一部分,我正在遷移網址。我需要保留自己的網址結構,因此我需要保留類似「foo.com/bar.aspx?pageid=1」的網址。Kentico是否允許帶問號的查詢字符串?

我查過網頁的「網址」屬性,試圖使用通配符,像/bar/{pageid}- /bar/{?pageid?}-等一些模式,但Kentico總是替換問號。

有沒有辦法通過管理界面實現這一點?

回答

0

您無需執行任何操作即可使用「foo.com/bar.aspx?pageid=1」網址。

在根目錄下創建一個頁面並將其命名爲bar,這樣就會得到一個頁面@ foo.com/bar.aspx。 Kentico和/或.net並不在乎你在問號後添加到網址中,所以foo.com/bar.aspx?pageid=1的工作方式與foo.com/bar.aspx?someparam=sdf或foo .com/bar.aspx?id = 1 & p = 3 & t = 3。

您可能(或不可能)基於查詢字符串(例如分頁)實現某些功能,因此它將解析查詢字符串並以適當的方式進行操作。

+0

如果原始網站中有很多頁面,像'span.aspx?pageid = xxx'(它們不是一個文檔的不同頁面),我需要保持這種結構? – 2sugoi2handle

+0

你已經回答了你的問題:這是一個基於指定的查詢字符串參數來操作/顯示不同數據/內容的單個頁面。 –

0

默認情況下,Kentico UI不會處理添加帶有URL參數的URL別名,就像你展示的那樣。有一個URL重定向模塊an article on the DevNet,它具有您可以導入到您的站點的代碼,以允許您在Kentico UI中執行這些重定向。我建議使用這種方法。

不幸的是,我不能共享代碼示例,因爲它是一篇文章,但它也有一個link to download the code。這似乎只是現在編碼Kentico 8.2,但我猜你可以做一些工作,以使其適用於其他版本,如果你需要的話。

0

我認爲你在這裏泡吧的概念很少。我將從這裏的行代碼開始

/bar/{pageid} - {pageid}如果您選擇使用基於模式的動態URL,則是Kentico語言的位置參數。所以如果你有一個依賴於pageid參數的代碼來獲取一些數據,那麼Kentico會傳遞這個值。例如,在/bar/420的情況下,它將在您的模板上傳遞420個不同Web部件的pageid

/bar/{?pageid?} - 這將在請求URL上搜索查詢字符串參數「pageid」並在此替換其值。因此,如果您通過了foo.com/bar.aspx?pageid=366,則生成的URL將爲/bar/366

#1是位置參數,#2是Kentico解析查詢字符串宏的方式。

我希望這個澄清。