2009-09-24 77 views
2

如果用戶類型我需要asp.net的路由一個簡單的例子

http://myweb/mysite.aspx (file does not exist) 

我希望他們去

http://myweb/site.aspx (file does exist) 

我的目標是做一個雙語網站(包括URL),但而無需進行物理文件

,這將是一個文件

http://myweb/acceuil.aspx 
http://myweb/home.aspx 
+0

http://stackoverflow.com/questions/1440883/mass-301-redirects-in-as-net-including-pages-that-need-to-redirect-to-a-differe – 2009-09-24 19:31:45

+0

您是否在尋找所有請求的頁面不存在去site.aspx或只有mysite.aspx? – 2009-09-25 12:01:30

回答

3

不知道你正在嘗試做的,但是這是你問的問題最好turtorial:

How to: Use Routing with Web Forms

+0

這是否需要舊頁面的存在?如果是這樣,在頁面中添加一個簡單的腳本可以解決這個問題,而不需要CustomRouteHandler。我認爲他想要的是一種按名稱指定新舊頁面的方法,而不必將舊頁面保留在服務器上。 – 2009-09-24 19:55:03

+0

我使用了第一個URL,「如何:使用Web表單路由」。如果你願意,你可以刪除它下面的所有內容。謝謝 – Fredou 2009-11-03 15:55:44

1

這不是路由;那是一個redirect

_rick_shott似乎有將惡意URL轉發到301重定向的mojo。我提出了他的答案。你應該看看他的HTTPModule解決方案。

+0

與重定向,你必須創建一個文件,我想使用路由模塊,所以我不會有這樣做 – Fredou 2009-09-24 19:14:15

+0

你關心搜索引擎優化? – 2009-09-24 19:25:12

+0

@Fredou:如果您使用HTTPModule,則不必創建文件 – 2009-09-25 02:51:28

0

在你的web.config,添加的customErrors和錯誤的節點如下:

<customErrors mode="On" defaultRedirect="ErrorDisplayPage.aspx"> 
    <error statusCode="404" redirect="http://myweb/site.aspx"/> 
    </customErrors> 

這將displayErrorDisplayPage.aspx所有非託管錯誤,除了404錯誤(這是「找不到頁面」)。對於404錯誤,瀏覽器將重定向到site.aspx頁面。

+0

AFAIK這會將所有404的重定向到新頁面,除非這是在一個位置元素中。有關更多信息,請參閱http://msdn.microsoft.com/en-us/library/b6x6shw7(VS.71).aspx。 – 2009-09-25 02:53:26

+0

對不起,我認爲這是海報的要求 - 所有未找到網頁去site.aspx。 – 2009-09-25 11:54:04