2012-03-21 26 views
1

我一直在試圖關注WebMatrix如何做這些鏈接URL路由 http://www.mikesdotnetting.com/Article/165/WebMatrix-URLs-UrlData-and-Routing-for-SEO http://www.asp.net/web-pages/tutorials/working-with-pages/18 -customizing站點範圍內的行爲WebMatrix給404帶UrlRouting

從我的理解,這樣的事情http://localhost:44893/a/xyz

WebMatrix中首先對一個文件名/a/xyz.cshtml,如果未找到,那麼它會檢查/ a.cshtml,如果沒有找到,那麼它將檢查/a/default.cshtml

我創建d WebMatrix 2 Beta中的空白站點(3/5刷新)。我創建了一個文件夾名稱a,並在裏面創建了一個default.cshtml文件。

如果我去http://localhost:44893/a,我會得到默認的頁面,但如果我去http://localhost:44893/a/xyz,我會得到

HTTP錯誤404.0 - 找不到 你正在尋找的資源已被移除,更名或暫時不可用

模塊IIS Web核心 通知MapRequestHandler 處理器StaticFile 錯誤代碼0x80070002 請求的URL http://localhost:44893/a/xyz 物理路徑C:\代碼\測試\ A \ XYZ 登錄方式匿名 登錄用戶匿名

有什麼,我錯過了建立起來?

回答

1

你錯過了文章的這一部分:

如果要搜索的文件中沒有找到任何匹配,網頁將 試圖找到一個默認的文件來代替。這兩個默認 文件的工作是default.cshtml和index.cshtml中的 命令。但是,此搜索只執行一次,並且假定 URL完全是文件路徑,並且不包含UrlData。

內置路由系統將始終假定URL代表文件路徑。默認文檔進入播放的唯一時間是系統已經確定a/xyz.cshtml不存在時,因此嘗試確定xyz是否包含默認文檔的文件夾。如果/ xyz/default.cshtml(或index.cshtml)不存在,則在嘗試將此特定URL與文件路徑匹配時,不會再嘗試找到默認文檔。