У меня сложный сценарий, который я не могу настроить.
Мне нужен файл web.config, чтобы настроить IIS для обслуживания двух приложений Angular. Первый будет работать на domain.com, а второй - на sub.domain.com.
Исправление, которое работает сейчас, позволяет поместить первое приложение (domain.com) в wwwroot, а второе приложение (sub.domain.com) в папку внутри первого приложения. Файл web.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect subdomain" enabled="true">
<match url="^(.*)$"/>
<conditions>
<add input="{HTTP_HOST}" pattern="^sub\.domain\.com$"/>
</conditions>
<action type="Rewrite" url="subfolder/{R:1}"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Проблема в том, что мне нужно добавить некоторые правила перезаписи URL, которые будут применяться только к первому приложению. Если я добавлю их в файл web.config, второе приложение будет перенаправлено в первое приложение из-за правил, которые я добавил.
Идеальным решением было бы что-то вроде этого
wwwroot
Таким образом, развертывание будет более безопасным, и если мне нужно будет вернуться, сделать другую версию, это будет намного проще. Я новичок в этой технологии, и если есть лучшие способы сделать это, я был бы признателен за некоторые ресурсы.
Я использую asp.net mvc, не знаю, есть ли у вас.
Я бы просто прочитал, какой домен является входящим, и, в зависимости от того, какой домен, отобразил соответствующее представление с угловой конфигурацией. Кажется проще, чем возиться с web.config
и перезапись URL. Очевидно, вы будете обслуживать соответствующие файлы js в зависимости от того, какое приложение view / angular вы визуализируете.
Логика на сервере будет минимальной. В IIS вы просто указываете оба домена на одну и ту же папку asp.net. Это решение в основном включает создание двух SPA в контексте одного веб-сайта asp.net.
Я был бы рад опубликовать код для этого, если вам интересно.