在ASP.NET中为重写域重定向编写重写规则

时间:2014-06-20 10:04:12

标签: asp.net iis redirect url-rewriting rewrite

我在不同国家的同一个项目有两个网站,一个是英国的,另一个是给我们的。现在我在美国网站上有一个页面,在英国网站上不存在。现在我希望当用户试图找到英国网站页面时,它会在同一页面上重定向到美国网站。

据我所知,我们可以为子域编写重写规则。是否有任何方法可以使用web.config中的重写规则进行跨域重定向。

example ::

http://www.abc.co.uk/xyz/ 是原始网址。我想将其重定向到:

http://www.abc.us/xyz.aspx

如果我错了,请纠正,有没有办法使它成为可能。有一件事,我没有找到任何链接告诉我,这是不可能做出这样的规则..这就是为什么我在这里问你专家们...任何想法和建议将不胜感激。

谢谢..

1 个答案:

答案 0 :(得分:1)

你可以在这里做一个bodge工作,然后在美国网站上的Iframe中加载英国网站,或者你可以使用所谓的Meta Refresh。

<html>
<head>
<meta http-equiv="Refresh" content="0; url=http://www.example.com/" />
</head>
<body>
<p>Please follow <a href="http://www.example.com/">this link</a>.</p>
</body>
</html>

这里,“content”是刷新的超时时间,0是即时重定向。显然,用您自己的URL替换example.com。您还可以添加子页面,子域,基本上任何有效的Web URL。

您还可以使用javascript重定向,例如

window.location='http://www.example.com/'

编辑: 至于在ASP.NET中实际进行重定向,您可以在加载页面后立即使用以下内容重新定义客户端:

protected void Page_Load(object sender, EventArgs e)
        {
             Response.Redirect("http://www.abc.us/xyz.aspx");

        }

应该放在哪个:Default.aspx.cs