1

我在谷歌有一些鏈接,我現在不再期望工作。所有鏈接如下所示:如何使用MVC3重定向到「未找到頁面」?

www.abc.com/xx/que=xxxxxxxxxxx 

其中x可以是任何值。

有人能告訴我如何設置路線和控制器操作,將返回404到谷歌?我想我需要設置一個包含「que」的面具,但我不確定如何做到這一點。

回答

2

添加新路線到頂級您的global.asax。這將使用正則表達式來捕獲形式爲xx/que={anything}的請求,以定義「que」參數。

routes.MapRoute(
    "PageNotFound", 
    "xx/{que}", 
    new { controller = "Error", action = "NotFound" }, 
    new { que = "que=.*" }); 

這也假設你有一個ErrorController用行動NotFound並命名你的/瀏覽/錯誤/目錄NotFound.aspx相應的視圖。

public class ErrorController : Controller 
{ 
    public ActionResult NotFound() 
    { 
     Response.StatusCode = 404; 
     return View(); 
    } 
} 
+0

是否有一些等價物像返回RedirectPermanent我可以用來代替返回錯誤視圖? – Timothy

+1

@Timothy當然,只要返回'RedirectPermanent(string url)'而不是NotFound視圖。所以如果你想重定向到Google,你可以'返回RedirectPermanent(「http://www.google.com」);' –

+0

對不起大衛。我沒有正確地說出我的問題。我想知道的是,如果有一種方法可以返回404錯誤,而不需要像NotFound.aspx這樣的其他視圖? – Timothy

相關問題