我想允许我的用户拥有自己的专用网址,例如,如果我的网址是www.XYZ.com,我的用户将拥有www.NAME.XYZ.com或www.XYZ.com/NAME。< / p>
目前您可以访问www.XYZcom / Member.aspx查看他们的页面?userID =“012345”
现在我想以某种方式将URL映射到当前系统。
我不知道我需要做什么,我似乎有很多网站都这样做了,所以我希望我可以在ASP .net中做同样的事情。
先谢谢你。 干杯
答案 0 :(得分:2)
如果您的域名DNS记录指向该站点的IP地址,您应该能够使用任何东西访问该站点.XYZ.com。
创建用户帐户时,您需要为其指定一个唯一的子域名,然后在用户使用其域名访问该站点时检测到该名称(请参阅下面的代码)
/// <summary>
/// Gets the Current SubDomain
/// </summary>
/// <returns></returns>
public static string GetSubDomain()
{
string subDomain = String.Empty;
if (HttpContext.Current.Request.Url.HostNameType == UriHostNameType.Dns)
{
subDomain = Regex.Replace(HttpContext.Current.Request.Url.Host, "((.*)(\\..*){2})|(.*)", "$2");
}
if (subDomain.Length == 0)
{
subDomain = "www";
}
return subDomain;
}
答案 1 :(得分:2)
如果您需要使用IIS和ASP.NET执行此操作,我认为此方法将起作用:
答案 2 :(得分:2)
HI, 您可以在应用程序中使用URL重写。使用此功能,您可以将以下网址重定向:www.XYZ.com/012345到以下页面:www.XYZ.com/Member.aspx?userID="012345“。您可以从microsoft网站下载URL Rewriter示例。将URLRewriter.dll引用添加到您的网站后。将以下行添加到您网站中的web.config文件后:
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/([a-z]+)-([a-z]+)\.html</LookFor>
<SendTo>~/Contact.aspx?FirstName=$1&LastName=$2</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
以上代码将www.mydomain.com/name-family.html等网址(使用URLRewriter库)重定向到www.mydomain.com/Contact.aspx?FirstName=name&LastName=family,您可以将其更改为套件需要。对于我的情况,LookFor标签的内容是一些正则表达式,你应该编写自己的正则表达式。
您可以在MSDN上查看该文章并下载源代码here。