Я хочу разместить несколько доменов верхнего уровня (TLD) в одном веб-приложении.
Сценарий: www.mywebsite.com имеет языковые подпапки / en-us /, / en-gb/, / fr-ca /, / ja / и т. д. Итак, www.mywebsite.com/en-gb/ будет британской версией сайта.
Пользователям из Великобритании следует перейти на www.mywebsite.co.uk, но можно перенаправить на www.mywebsite.com/en-gb/
. В IIS я установил привязки для этого веб-приложения для обработки как www.mywebsite.com, так и www.mywebsite.co.uk domains.
Модуль URL Rewrite 2.0 добавлен в IIS и содержит следующее правило:
<rewrite>
<rules>
<rule name="CanonicalHostNameRule" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.mywebsite\.co\.uk$" />
</conditions>
<action type="Rewrite" url="http://www.mywebsite.com/en-gb/{R:1}" />
</rule>
</rules>
</rewrite>
Пользователям, которые переходят на www.mywebsite.co.uk, переписывают URL-адрес наwww.mywebsite.com/en-gb/, однако, я хочу, чтобы URL оставался для них www.mywebsite.co.uk, и на самом деле, я бы хотел, чтобы www.mywebsite.com/en-gb/ был переписанна www.mywebsite.co.uk для согласованности.
Я все еще не совсем уверен, какова правильная терминология для того, что я хочу сделать.До сих пор я сталкивался с «мультитенантностью», «маршрутизацией запросов приложений», «маршрутизацией URL», «перезаписью URL» и некоторыми другими.
Вот несколько ресурсов, которые я читалчтобы попытаться выяснить, как лучше всего справиться с этим.Я на правильном пути?Я не нашел хорошего примера, который демонстрирует это с TLD.