2012-10-04 164 views
3

我一直在閱讀很多關於ASP.Net中SEO友好的URL功能。我讀過的大部分內容都涉及到一個使用查詢字符串參數並使其非常漂亮的URL。我對製作標準網址很感興趣。例如:ASP.Net webforms - 動態SEO友好的URL

http://mysite.com/aboutus.aspx 

should be... 

http://mysite.com/about-us 

我發現下面的代碼滿足要求:

void Application_Start(object sender, EventArgs e) 
{ 
    // Enable routing 
    RegisterRoutes(RouteTable.Routes); 
} 

void RegisterRoutes(RouteCollection routes) 
{   
    // About us section routes 
    routes.MapPageRoute(
     "AboutUsRoute", 
     "{about-us}", 
     "~/aboutus.aspx" 
    ); 
} 

我的問題是,我將不得不手動指定站點中的每個頁面的路線。有一個更好的方法嗎?

+1

我會說只是使用MVC ...沒有解決這個問題,我知道,但它是_is_一個解決方案:) –

+2

@agrothe,這是一個**糟糕的**解。我不想開始一場火焰戰,但我更喜歡網絡形式。爲什麼?這正是我現在所熟悉的。 –

+2

看起來像你需要動態路由,看到這裏:http://stackoverflow.com/questions/890275/webforms-custom-dynamic-routing –

回答

3

這條簡單的路線將把路線Url映射到物理.aspx頁面。

routes.MapPageRoute("Page", "{name}", "~/{name}.aspx"); 

所以/約映射到/about.aspx/接觸我們映射到接觸us.aspx