Asp.net 有单独的主题-如果相同的主机地址有www.和没有www.的版本。

Asp.net 有单独的主题-如果相同的主机地址有www.和没有www.的版本。,asp.net,Asp.net,我的网站有一组主题,用于不同URL的不同请求。因此,如果url=www.xyz.com,我会加载一个不同的主题,而不是www.abc.com 然而,我尝试过有一个名为www.abc.com的主题和一个名为abc.com的主题,在我的Web表单codebehind中,我有一个preinit页面事件,它说如果url.contains(abc.com),然后加载主题abc.com,如果url.contains(www.abc.com),然后加载主题www.abc.com(有效主题) 从头开始,根据ur

我的网站有一组主题,用于不同URL的不同请求。因此,如果url=www.xyz.com,我会加载一个不同的主题,而不是www.abc.com

然而,我尝试过有一个名为www.abc.com的主题和一个名为abc.com的主题,在我的Web表单codebehind中,我有一个
preinit页面
事件,它说如果
url.contains(abc.com)
,然后加载主题abc.com,如果
url.contains(www.abc.com)
,然后加载主题www.abc.com(有效主题)


从头开始,根据url是否有www.但主机相同,拥有和调用主题的最佳方式是什么。那么,我怎样才能为abc.com和www.abc.com分别设置主题,然后在url为www.abc.com时加载后者,而在url显然为abc.com时加载前者呢?

不太清楚您在这里要做什么,但如果您按照该顺序测试url,并使用else,那么第一种情况看起来总是正确的,因此,首先测试更具体的情况(www)

还建议您查看url.StartsWith的测试,并包括您可能期望的协议变体,因为您永远不知道这些字符串是否会在一两年后出现在url的其他地方,并且您的主题切换程序可能会停止工作


然后,你可以交换母版页来改变你的主题,或者如果你正在使用App_主题的东西,就打开它。我自己总是觉得aspnet主题有点笨重。

FYI-从搜索引擎优化的角度来看,这是个坏主意,因为你很可能会因为重复内容而受到打击。@Mitchel-这是因为不同的“主题”吗。。当然,由于几乎每个领域都可以通过领先的
www.
或不通过领先的
网站访问,这意味着每个网站都会受到影响?如果主题仅仅是样式,那就不重要了;就我个人而言,我不喜欢使用一个按@GSS要求做的网站,因为仅仅因为我喜欢不使用
www.
而其他人使用
www.
而改变布局/颜色/你喜欢的内容,这将是非常烦人的。SEO建议你应该选择一种域样式并坚持它,并将请求重定向到另一种格式到首选格式。谷歌网站管理员工具有一个功能可以帮助你做到这一点——你可以要求它将你网站的所有页面显示为www.example.com、example.com或“它们是如何被索引的”。有了这样的例子,重复的内容只会让你与自己争夺排名——如果你只在example.com上回复,你网站的所有链接都会计入该域,而如果你同时在这两个网站上回复,你的排名将在这两个网站之间被平分。