使用ASP.Net从404页面重定向到新页面

时间:2015-11-25 13:42:19

标签: c# asp.net redirect

如果有人问过这个道歉......无法找到任何好的答案。有一些ASP教程显示了这段代码:

    <%
    Response.Redirect "http://www.w3schools.com"
    %> 

但是如果原始文件不存在,我该把代码放在哪里?如果有人试图访问旧文件,我是否必须将原始文件放入代码中以告知服务器从OLD文件转到新文件?

我知道如何对服务器进行重定向,该服务器可以在.htaccess文件中使用PHP接受重定向。但我正在努力的这个网站不会接受我通常有效的代码。

404页面将显示:

&#39; / pagehere&#39;中的服务器错误应用。 无法找到该资源。 说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。

请求的网址:/ pagehere

版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.34280

我想从oldpage.php重定向到newpage.php。 oldpage.php已不存在。

我是否创建或编辑Whate文件以及我将使用哪些代码进行重定向?谢谢!

1 个答案:

答案 0 :(得分:1)

如果您可以控制 web.config ,则可以添加永久重定向。

一个不错的快速参考是https://www.stokia.com/support/misc/web-config-response-redirect.aspx

从该网站,您可以进行单独的重定向。

<configuration>
    <location path="bing.htm">
        <system.webServer>
            <httpRedirect enabled="true" destination="http://bing.com" httpResponseStatus="Permanent" />
        </system.webServer>
    </location>
    <location path="google.htm">
        <system.webServer>
            <httpRedirect enabled="true" destination="http://google.com" httpResponseStatus="Permanent" />
        </system.webServer>
    </location>
    <location path="yahoo.htm">
        <system.webServer>
            <httpRedirect enabled="true" destination="http://yahoo.com" httpResponseStatus="Permanent" />
        </system.webServer>
    </location>
</configuration>

您可以在location标记下放置 oldpage.html

<location path="oldpage.html">

然后您将 newpage.html 放在httpRedirect标记处。

<httpRedirect enabled="true" destination="newpage.html" httpResponseStatus="Permanent" />

像这样结合。

<location path="oldpage.html">
    <system.webServer>
        <httpRedirect enabled="true" destination="newpage.html" httpResponseStatus="Permanent" />
    </system.webServer>
</location>