其他分享
首页 > 其他分享> > 重定向问题

重定向问题

作者:互联网

假设我有一个网站www.mysite.com,并且希望它成为一个多语言网站.以下是我想要实现的目标:-

1.当用户访问我的网站时,我想获取用户所在国家的ISO代码.假设ISO为“ FR”.
   现在,我希望将用户重定向到www.mysite.fr

万一无法获取ISO地址,用户将被重定向到www.mysite.com

现在我已经使用了该站点http://ipaddressextensions.codeplex.com/中的dll,并使用了类似的方法
  iso3066code().但是我无法基于用户的IP地址获取ISO代码.无论如何,获取ISO代码的最佳方法是什么?

2.我有一个针对不同国家的差异网站主页.就像法国一样,有France.master,德国一样,有Germany.master,等等.
   我想要的是,首先应获取用户的ISO代码,然后将用户重定向到与ISO相对应的站点
   并且要加载相应的主机.

这是一个场景:

来自法国的用户通过输入“ www.mysite.com”打开我的网站.现在,我想用法语向用户显示我的网站内容,因此我希望将他重定向到
“ www.mysite.fr”,并希望France.master加载所有页面.我正在做的是检查用户输入的“顶级域名”(在这种情况下为“ com”),然后获取ISO代码
 然后如果存在ISO,则将用户重定向到“ www.mysite.fr”

在这种情况下,无法获取ISO,“ www.mysite.com”只会为用户打开.

3.如何重定向用户? Response.Redirect(“ http://www.mysite.fr”)失败,并给出如下错误:

“页面未正确重定向”我尝试将其更改为Response.Redirect(“ http://www.mysite.fr”,false)
    和Response.Redirect(“ http://www.mysite.fr”,正确).这没用.

4. www.mysite.com和www.mysite.fr并不是两个不同的网站.只是在www.mysite.com何时显示英文内容.
   如果是“ www.mysite.fr”,则可以在网站内看到法语内容.

我所做的是:-

在Global.asax文件中:

我尝试使用上述dll从站点ipaddressextensions获取ISO代码.然后,我在Global.asax文件中创建了这个Application(“ UserISO”)变量.((这是一个好方法吗?))
我之所以需要这样做是因为我想在我的Global文件本身中使用此全局变量.在某些用户定义的方法中.
 然后,我在cookie中设置母版页名称,并使用此cookie为Page_PreInit()事件中的每个内容页动态更改母版页.
最后,我使用“ Response.Redirect(“ http://www.mysite.fr”,false)“重定向用户.此response.redirect不起作用!

现在,我是在正确的道路上吗?我对如何真正使其工作感到非常困惑!

标签:global-asax,asp-net,c
来源: https://codeday.me/bug/20191208/2093111.html