Подтвердить что ты не робот

Мульти аренда в ASP MVC

Еще один многопользовательский пост, который испугался. Я просто не могу найти хорошее решение для своей проблемы, я прочитал все замечательные сообщения о многократном аренде для 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." )
...

Эта структура в порядке, но я также хочу, чтобы пользователи веб-сайта обращались к каждому подсайту на основе своих отдельных доменов, например:

hold.acme.com(Это должно указывать на "acme.com/Holding" ).
...

Это, конечно же, будет работать, но дело в том, что я не хочу, чтобы URL-адрес менялся, когда пользователь был направлен на "acme.com/Holding". Я бы хотел, чтобы это все еще было "hold.acme.com", "hold.acme.com/About", "hold.acme.com/Contact" и т.д. Вместо "acme.com/Holding/Contact" и т.д..

Какая была бы лучшая практика в этом конкретном проекте, какие-то мысли?

4b9b3361

Ответ 1

Держите его простым, используйте IIS URL Rewrite Module. Вы можете настроить его для перезаписи acme-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>