12

恐怕还有另一个多租户职位。我只是找不到解决问题的好方法,我已经阅读了所有关于 ASP MVC 多租户的精彩文章,但我仍然需要一些好的建议。

我将为我的一位客户创建一个企业形象。他们的公司结构就像一个主要公司(例如 Acme Group Ltd.),它拥有其他几家公司(例如 Acme Holding Ltd、Acme Technology Ltd.、Acme Maritime Ltd. 等)。

我想使用一个 ASP MVC 项目作为所有站点的容器,以减少所需的代码并使其保持干燥。我还希望所有网站都使用相同的会员数据库。

我的第一个想法是为每个子公司创建一个控制器文件夹,为公司主页创建一个根控制器。然后它看起来像:

acme.com(“公司主页”)
acme.com/Holding(“Acme Holding Ltd.”)
acme.com/Maritme(“Acme Maritme Ltd.”)
...

这种结构对我来说很好,但我也希望网站的用户基于他们自己的单独域访问每个子站点,例如:

holding.acme.com(这应该指向“acme.com/Holding”)。
...

这当然也可以,但问题是当用户被定向到“acme.com/Holding”时,我不希望 URL 发生变化。我希望它仍然是“holding.acme.com”、“holding.acme.com/About”、“holding.acme.com/Contact”等,而不是“acme.com/Holding/Contact”等.

在这个特定项目中使用的最佳实践是什么,有什么想法吗?

4

2 回答 2

6

保持简单,使用 IIS URL Rewrite Moduleacme-holding.com/*您可以将其设置为将URL重写 为acme.com/Holding/*

<rewrite>
    <rules>
        <rule name="Forward to acme.com">
            <match url=".*" />
            <action type="Rewrite" url="http://acme.com/Holding/{R:0}" />
        </rule>
    </rules>
</rewrite>
于 2010-01-13T04:03:58.483 回答
1

我写了一篇关于多租户的博客,其中涵盖了您在此处尝试的内容。:

http://jasonjano.wordpress.com/2010/02/22/multi-presentation-websites-for-c/

祝你好运!

于 2010-02-23T02:23:06.167 回答