2014-03-07 163 views
0

我想要的路徑是這樣的:WEB API URL路由

localhost:99/client/themes/plain/index.html?shop=mycoolshop 

顯示爲:

localhost:99/client/mycoolshop/index.html. 

我寫道:

routes.MapPageRoute(
      routeName: "Client", 
      routeUrl: "client/{shopname}/{page}", 
      physicalFile: "~/client/themes/plain/{page}?Shop={shopname}" 
     ); 

但沒有運氣。當我輸入localhost:99/client/mycoolshop/index.html它說沒有找到頁面。我究竟做錯了什麼?

+1

你爲什麼要求'index.html'? – Yuck

+0

我的猜測是這可能是'。'在index.html這是問題。你可以嘗試從文件和URL中刪除擴展名,看看會發生什麼? – elolos

+0

您使用的是IIS還是VS開發服務器?當您在瀏覽器中單擊視圖時,它會顯示localhost:99/Default.aspx? – Kuzgun

回答

0

我想你可能在尋找URL重寫而不是WebAPI路由。看看這個SO thread

+0

任何說明如何使用Web API執行此操作的鏈接......如果以這種方式完成任務,我很高興。 – user2645830

0

你可以在你的web.config的system.web節使用此設置:

<httpRuntime relaxedUrlToFileSystemMapping="true" /> 

Here's是如何工作的更詳細說明。