![]() |
1
4
大编辑: @edsf在评论中指出答案是错误的。我不相信我用Firebug检查过,事实上, 这是错误的 .
你需要使用
我在global.asax也这么做:
如果您使用II6,那么只需配置这个ISAPI过滤器。 这样:
文件是
|
![]() |
2
1
最简单的方法是在IIS级别使用自定义404错误页。此页可以是任何ASPX页;您可以通过httpContext访问原始请求。 在IIS6.0中,您会注意到默认情况下映射到.NET引擎(.aspx、.asmx等)的URL使用自己在web.config中定义的404处理程序。不管怎样,如果编辑ASPX引擎映射并确保设置了“文件必须存在”的勾选框,那么即使这些页也可以发送到IIS404页。这会将所有Boken链接重定向到IIS404处理程序,即使它们被映射到.NET处理程序。人们犯了一个错误:试图将所有断开的链接重定向到web.config定义的404handler;如果您只强制所有链接转到IIS定义的一个instread,那么就更容易了。 |
![]() |
3
1
Eduardo Molteni的回答有效,除了一件事。它实际上通过了浏览器302而不是301。 我相信,而不是:
应该是:
response.redirect基本上会中断您使用response.statuscode设置的内容,浏览器最终会得到一个“302 found”。 我不太清楚搜索引擎是如何处理302和301的,所以这可能不是问题。在我看来,一个真正的永久性重定向(301)将是首选。 对于框架v4上的那些,似乎有一个新的选项:
我还没有测试过这个,但是我假设它提供了一个301作为状态代码。详情如下: HttpResponse.RedirectPermanent |
![]() |
4
0
我使用的是来自 http://evolvedcode.net/content/code_smart404/ . 我添加了代码来根据数据库中的表进行自定义映射。 这个脚本可以很容易地在ASP.NET中重新编写,然后以相同的方式映射。 |
![]() |
user1946932 · .Net正则表达式在所有字符前添加空格 5 月前 |
![]() |
TSDrake · 发布ASP。没有特定文件夹的.NET应用程序 6 月前 |
![]() |
Vengat Ramanan · 用户登录Asp时隐藏导航和页脚。网络核心 10 月前 |
![]() |
ramamoorthy_villi · 输入验证错误外键字段 10 月前 |
![]() |
Enderbyte09 · ASP。NET Core绝对拒绝在其他端口上托管 11 月前 |