0

这将是一个漫长的过程。

我有一个要求,我必须在我的旧网页中使用 url 重定向(基本上它是一个完整的静态 html 页面)。

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

即,如果发现我的早期页面位于

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

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

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

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

IE

window.location="http://web.vatsag.com/app/newdownloadsite.aspx"

我的downloadsite.htm页面的head部分中的脚本

现在问题来了

如何查询多个 URL 参数?

即当 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;
}

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

非常感谢您的帮助

增值税

4

3 回答 3

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"
}
于 2012-10-30T06:27:09.933 回答
0

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

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

<meta http-equiv="Refresh" content="0;URL=new_page_url" />
于 2012-10-30T06:33:02.820 回答
0

window.location 不是一个字符串,它是一个结构/类。它有自己的成员变量。当您分配时,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.

于 2012-10-30T07:32:53.767 回答