通过查询url参数实现从html到aspx页面的URL重定向

时间:2012-10-30 06:01:49

标签: javascript asp.net html url-redirection

这将是一个漫长的过程。

我有一个要求,我必须在我的遗留网页中使用网址重定向(基本上是一个完整的静态HTML页面)。

我的要求是每次都将用户重定向,从静态html页面到.aspx页面

即如果我的早期页面被发现在

http://web.vatsag.com/app/en/downloadsite.htm

然后我必须重定向到下一页(.aspx)

http://web.vatsag.com/app/newdownloadsite.aspx

目前我在我的html页面中使用了javascript,

window.location="http://web.vatsag.com/app/newdownloadsite.aspx"
downloadsite.htm 页面的 head 部分中的

脚本

现在出现问题

如何查询多个网址参数?

即。 当URL请求类似于

http://web.vatsag.com/app/en/downloadsite.htm?lang=de&vers=1.10

我应该使用相同的URL参数重定向到aspx页面。

http://web.vatsag.com/app/newdownloadsite.aspx?lang=de&vers=1.10

我有一个javascript片段,它返回url参数

function getQueryStringArray(){
    var assoc=[]; 
    var items = window.location.search.substring(1).split('&'); 
    for(var j = 0; j < items.length; j++) { 
       var a = items[j].split('='); assoc[a[0]] = a[1]; 
    }
    return assoc;
}

如何使用此代码段获取最终重定向到ASPX网页的所有网址参数?

非常感谢您的帮助

VATSAG

3 个答案:

答案 0 :(得分:1)

我认为此代码会为您提供您之后的网址

// Original URL
var url = window.location.href; 
var newUrl = "";

// Split the String to get the Query strings
var splitString = url.split('?');


if (splitString.length > 1)
{
   // New Url With Query strings
   newUrl = "http://web.vatsag.com/app/newdownloadsite.aspx" + "?" + splitString[1];
}
else
{
   // New Url With NO query string
   newUrl = "http://web.vatsag.com/app/newdownloadsite.aspx"
}

答案 1 :(得分:0)

您可以通过在旧页面上使用简单的元标记轻松完成您的任务,该元标记可以重定向到您的新网页。

将以下行添加到旧静态html页面的head部分:

<meta http-equiv="Refresh" content="0;URL=new_page_url" />

答案 2 :(得分:0)

window.location不是字符串,它是一个struct / class。它有自己的成员变量。分配location="something"时,您将分配给href成员。您可以查看其他成员。

此外,另请注意:不建议指定整个地址,如http://web.vatsag.com/app/newdownloadsite.aspx。相反,请使用../newdownloadsite.aspx。如果您将来重新安置您的网站,这将有所帮助。

要回答您的问题,请尝试:

  location=location.pathname.replace(/en\/downloadsite.htm$/,"newdownloadsite.aspx") + location.search + location.hash;
  //Host name, protocol, port number is taken from current one. (Making it more portable)
  //By using pathname.replace, you ensure that if the directory path depth of the original html page on server is changed, still it would be portable.

顺便说一句,MVCKarl的回答 - .split("?")[1] - 也应该取代location.search + location.hash