【发布时间】:2016-02-28 08:00:07
【问题描述】:
抱歉,如果有人问过这个问题...找不到任何好的答案。有一些显示此代码的 ASP 教程:
<%
Response.Redirect "http://www.w3schools.com"
%>
但是如果原始文件不存在,我该把代码放在哪里呢?如果人们尝试访问旧文件,我是否必须将原始文件放入代码中以告诉服务器从旧文件转到新文件?
我知道如何为可以在 .htaccess 文件中使用 PHP 接受重定向的服务器进行重定向。但是我正在处理的这个网站不会接受我通常可以使用的代码。
404页面会显示:
“/pagehere”应用程序中的服务器错误。 无法找到该资源。 说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的网址:/pagehere
版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.34280
我想从 oldpage.php 重定向到 newpage.php。 oldpage.php 不再存在。
我要创建或编辑什么文件,我将使用什么代码进行重定向?谢谢!
【问题讨论】:
-
您可以配置一个自定义错误页面,该页面使用请求的 url 并重定向到新位置。但是为什么原始文件首先不再可用?不是您的部署的一部分吗?
-
检查IIS Url Rewriter。它完全满足您的需求。
-
井文件可以被删除或移动到其他地方。这不是我的网站。我只是在做这方面的工作。但该文件的位置仍被索引,因此最佳 SEO 做法是将文件 301 重定向到其新位置或执行所需位置。问题不应该是“为什么原始文件不存在”?我只需要知道使用什么重定向代码以及将代码放入哪个文件。文件可以在任何网站上删除或移动。这就是存在 404 和 301 状态代码的原因。
-
确保发回正确的标题。 Response.Redirect 将 302 发送回浏览器。我相信您想在以下任一方面进行控制:a)您的 web.config,b)您的 global.asax Application_Error 或 c)IIS。以下是一些示例:stackoverflow.com/questions/667053/…