0

我在 localhost 上的多语言网站有一个简单的文件夹结构

Default.aspx
images
css
js
en/Default.aspx
en/ContactUs.aspx
....
ar/Default.aspx
ar/xxxxx.aspx

我面临的问题对我来说很奇怪。我有一个简单的代码来检查用户设置的浏览器语言,因此我将用户重定向到英语或阿拉伯语版本的网站。

Irrecpective 我写的代码总是将我重定向到英文版的网站并执行en/Default.aspx页面

即使评论Default.aspx页面中的所有代码,它仍然会将其重定向到en/Default.aspx页面。虽然它不应该做任何事情。

我已将 Default.aspx 设置为设置为默认页面,但它没有任何区别。即使global.asa有路由代码,我也删除了,我还在本地主机上删除了与该网站相关的所有编译器代码,但它仍然在做同样的事情。

我检查了 web.config 文件,没有任何问题。

即使在删除Default.aspx页面后,它仍然会将我重定向到en/Default.aspx我对这个问题感到沮丧。

我不确定出了什么问题。我重新启动系统没有结果。

我正在将 Visual Studio 2010 用于 asp.net Web 表单项目。

http://localhost:49831/AlShindagah/

总是带我到下面的 URL

http://localhost:49831/AlShindagah/en/Default.aspx

Default.aspx 在我删除之前的代码

public partial class DefaultMain : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        //switch (Session["lang"].ToString().ToLower())
        //{
        //    case "en-us":
        //        Response.RedirectPermanent("~/en/Default.aspx");
        //        break;
        //    case "ar-ae":
        //        Response.RedirectPermanent("~/ar/Default.aspx");
        //        break;
        //    default:
        //        Response.RedirectPermanent("~/en/Default.aspx");
        //        break;
        //}

    }

    //// Localization and Globalization code
    //protected override void InitializeCulture()
    //{
    //    String lang = Request["Language"];

    //    Session["lang"] = Helper.DetectLanguage(lang);
    //    //Set Direction of page LTR/RTL
    //    if (Session["lang"] == "ar-AE")
    //    {
    //        Session["PageDIR"] = "rtl";
    //    }
    //    else
    //    {
    //        Session["PageDIR"] = "ltr";
    //    }

    //    base.InitializeCulture();
    //}
}
4

1 回答 1

1

您以前使用过Response.RedirectPermanent("~/en/Default.aspx");. 符合要求的浏览器会记住这一点,并始终将您重定向到那里。

清除浏览器缓存并重试:)

作为旁注,请使用Redirect而不是RedirectPermanent. 如果我从浏览器访问 www.mysite.com 并且 www.mysite.comRedirectPermanent是我访问 www.myothersite.com,则符合要求的浏览器会记住这一点,并且对于将来对 www.mysite.com 的所有请求,它会调用www.myothersite.com。

于 2012-12-18T04:35:37.830 回答