Asp classic response.redirect到另一个带有免责声明的网站

Asp classic response.redirect到另一个带有免责声明的网站,asp-classic,response.redirect,Asp Classic,Response.redirect,我已经在我的网站上创建了一个简单的页面来统计那些成员在论坛上发送的超链接的点击次数。我将以blah开头的链接转换为linkout.asp?u=blah,这就是linkout.asp的来源 <% url=request("u") response.redirect url %> 然而,验证器和谷歌分析警告我在这些外部网站上发生404或500个错误。这些目标页面似乎是我自己网站的一部分,这些错误被算作内部错误。使用response.redirect来强调这些目标页面不是我自己的页面

我已经在我的网站上创建了一个简单的页面来统计那些成员在论坛上发送的超链接的点击次数。我将以
blah
开头的链接转换为
linkout.asp?u=blah
,这就是linkout.asp的来源

<%
url=request("u")
response.redirect url
%>


然而,验证器和谷歌分析警告我在这些外部网站上发生404或500个错误。这些目标页面似乎是我自己网站的一部分,这些错误被算作内部错误。使用
response.redirect
来强调这些目标页面不是我自己的页面的正确方法是什么?

您可以尝试客户端重定向

例如,类似这样的东西应该为您提供一个机会来感谢访问者,提供一个免责声明,并为禁用JavaScript的用户提供一种访问外部站点的方法,并有望阻止Google Analytics的邪恶后果

<html>
<head>
<meta http-equiv="refresh" content="3;url=<%= request("u") %>" />
<title>Redirecting...</title>
<script type="text/javascript">
var tmr = null;
function doRedirect() {
    window.location.href = '<%= request("u") %>';
}
window.onload = function() {
    tmr = window.setTimeout(doRedirect, 3000);
}
window.onunload = function() {
    window.clearTimeout(tmr);
    tmr = null;
}
</script>
</head>
<body>
<p>Thank you for visiting our site.  You will be redirected to <%= request("u") %> in 3 seconds</p>
<p>We take no responsiblity for the content displayed on external sites.</p>
<noscript>
<p>If you are not redirected, please <a href="<%= request("u") %>">click here</a> to navigate to the site.</p>
</script>
</body>
</html>

重定向。。。
var-tmr=null;
函数doRedirect(){
window.location.href='';
}
window.onload=函数(){
tmr=window.setTimeout(doRedirect,3000);
}
window.onunload=函数(){
窗口清除超时(tmr);
tmr=null;
}
感谢您访问我们的网站。您将在3秒钟内重定向到

我们对外部网站上显示的内容不承担任何责任

如果未重定向,请导航到该站点

请注意:上述代码不应在生产环境中使用,因为
请求(“u”)
在使用前未经验证或消毒。在依赖所有输入参数之前,请采取额外的预防措施,以确认所有输入参数


希望这有帮助。

响应。重定向执行“302 Object moved”标题重定向,如果Google Analytics报告错误,那是因为您的重定向代码有问题,并且返回了错误,而不是执行重定向。您提供的示例代码正在重定向到不存在的变量。您应该重定向到
url
,而不是
u
。谢谢。我已经更新了问题。在这里写问题时变量u是输入错误的,而不是在我的真实代码中@AdamAs据我所知,Google Analytics只会记录在运行Analytics JS的域上生成的错误代码,这意味着您的代码仍然存在问题。在重定向之前是否使用正则表达式验证URL?或者你也在使用linkout.asp执行内部重定向吗?当你可以只使用
或.Ah时,为什么使用javascript呢?好的。我的疏忽<代码>
添加了标记+注释。谢谢兰克马特。