我的公司中有网站,可以通过在位置栏中键入来输入,例如:foo
。该网站以foo/directoryOfWebsite/Welcome.aspx
打开。
我想设置它而不是加载foo.companyServername.com/directoryOfWebsite/Welcome.aspx
。我应该在哪个配置文件中将短名称扩展为完全限定的域名?
我想这样做是为了避免在尝试使用同一公司其他团队创建的ui工具时出现跨域错误。
我是C#和ASP .net的新手。所以我会请你以简单的方式解释,以便我可以效仿。我知道通过将IIS与URL重写配合使用可以实现这一点。但我正在寻找可以在没有这一切的情况下完成的事情。
答案 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
...
}