2

我有一个服务于网站的 MVC4 Web 应用程序。现在我想使用相同的 web 应用程序作为某种白标引擎来服务其他网站(其他 URL)。本质上,我想使用相同的控制器,但自定义标题、样式和偶尔的内容。

我不想创建同一个 web 应用程序的变体。解决这个问题的最佳方法是什么?我正在考虑从每个控制器检测 URL 并采取行动。但感觉检测 URL 可以在调用堆栈中做得更高。

当然,也欢迎其他解决方案。我基本上是在寻找最实用的方法来实现这一点。

4

2 回答 2

2

如果它们位于不同的域名上,只需检查主机标头。然后在您拥有所有白标签信息的表中(例如,tbl_Site),只需添加一个新列:Host。

然后在您的控制器中,读取主机标头并使用它来查询您的 tb_Site 并确定他们正在访问的站点并对其进行自定义。

您需要让所有域名都指向同一个(静态)IP 地址。

于 2015-03-23T20:41:06.280 回答
1

我们有一个类似的解决方案,我们在同一个 iis 站点中使用多个绑定(iismanager -> 右键单击​​站点 -> 编辑绑定)。

在应用程序内部,我们使用帮助程序类和数据库来根据请求域参数化资源。

于 2015-03-23T20:41:18.210 回答