2011-08-09 47 views
0

我正在一個房地產網站上工作。這將是理想有我的客戶的精選房產有一個像自己獨特的網址:在asp.net中的URL重寫c#

www.realestatewebsite.com/featured/123-fake-st/

我構建CMS爲我的客戶端,以便他們可以在管理後臺添加/刪除特色屬性,這意味着我需要編寫一個程序,根據他們通過CMS輸入到數據庫中的地址自動爲他們添加新的URL。

我是新來的URL重寫。什麼是最好的方式去做這件事?我曾考慮在web.config中使用RewriterConfig,但後來我擔心編寫一個將新規則添加到web.config文件的程序會遇到問題。我想在RewriterRule中使用正則表達式來查找URL中/ featured /之後的任何內容,但是如果我只是在LookFor中使用地址,那麼它如何知道在SendTo中使用哪個屬性ID?

如果我只需要一個文件將「/ featured /」後面的地址放入字符串,查看數據庫中的地址並檢索Property ID,然後重定向用戶,那將是理想的選擇。

正如我所說,我是新來的URL重寫,如果有人能指出我正確的方向,這將是非常好的。

謝謝!

-Aaron

回答

0

這樣做有多種方法。對所有的解決方案如下:

  1. 建立一個算法創建的URI,並將它們存儲在數據庫(改變空間 - 是一個簡單的方式實現這一目標
  2. 路線的URI通過使。地址字符串轉換成參數

路由可以做到多種方式。

如果你有服務器的控制權,或者他們擁有服務器的控制權,你必須設置IIS重寫的能力他們的服務器上的IIS實例(good starter URI)。

如果這是託管在ISP上,您可能沒有此選項,並且必須使用IIS重寫,並且必須使用ASP.NET路由。 Here是一個很好的文章,以開始解決這個問題。如果您使用的是MVC,則路由是「內置的」。

+0

大文章,感謝您的幫助! –