将url重定向到完全限定名称的asp.net

时间:2014-03-26 11:44:27

标签: c# asp.net .net url redirect

我的公司中有网站,可以通过在位置栏中键入来输入,例如:foo。该网站以foo/directoryOfWebsite/Welcome.aspx打开。

我想设置它而不是加载foo.companyServername.com/directoryOfWebsite/Welcome.aspx。我应该在哪个配置文件中将短名称扩展为完全限定的域名?

我想这样做是为了避免在尝试使用同一公司其他团队创建的ui工具时出现跨域错误。

我是C#和ASP .net的新手。所以我会请你以简单的方式解释,以便我可以效仿。我知道通过将IIS与URL重写配合使用可以实现这一点。但我正在寻找可以在没有这一切的情况下完成的事情。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您需要在Web服务器上构建foo域并相应地设置IIS。

答案 1 :(得分:0)

我一直在寻找一种方法来重定向到另一个URL而无需在IIS端配置任何东西,因为这样的事情是由另一个负责Windows基础架构和东西的团队控制的,可能需要更长的时间才能完成。

快速执行此操作的方法是修改Website.Master.cs文件的Page_Load方法。 粘贴下面的片段:

protected void Page_Load(object sender, EventArgs e)
    {
        string domain = Request.Url.AbsoluteUri;
        var filePath = Request.Url.PathAndQuery;
        const string altDomainSuffix = "company.com";
        bool redirect = false;
        if (domain.ToLower().Contains("localhost"))
        {
            domain = System.Net.Dns.GetHostName().ToLower() + ".pc." + altDomainSuffix;
            redirect = true;
        }
        if (!domain.ToLower().Contains(altDomainSuffix))
        {
            domain = Request.Url.Host + ".prod." + altDomainSuffix;
            redirect = true;
        }
        if (redirect)
        {
            var altUrl = new UriBuilder(Request.Url.Scheme, domain + filePath);
            Response.Redirect(altUrl.ToString());
        }
    ...
    //other code goes here
    ...
    }