我将一些旧的asp页面移动到新的aspx网站。 在我使用的所有旧页面中(对于文件example.asp):
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.example.com/example.aspx");
问题是当页面example.com/example.asp?param=value¶m2=value2
时
请求 - 重定向不起作用...
任何......?
答案 0 :(得分:2)
此解决方案将适用于传统的ASP页面。基本上是斯梅尔奇所说的一个例子。
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.test.com/default.aspx?" + Request.QueryString
Response.End
%>
答案 1 :(得分:0)
将查询字符串参数添加到位置标题的末尾,以问号分隔。我相信它在Request.Url.Query。
答案 2 :(得分:0)
你可以尝试这样的方法来确保查询字符串的传递:
protected void Page_Load(object sender, EventArgs e)
{
Response.Status = "301 Moved Permanently";
string sQueryString = this.Request.ServerVariables["QUERY_STRING"];
Response.AddHeader("Location", String.Format("http://www.domain.com/example.aspx?{0}", sQueryString));
}