Укажи поддомен на эту папку IIS - PullRequest
0 голосов
/ 20 февраля 2020

Существует способ указать всем моим поддоменам одну и ту же папку с именем, используя Windows Сервер | IIS - переписать правило или прокси?

Пример:

subdomain1.domain.com ----> C:\customers\development\subdomain1

subdomain2.domain.com ----> C:\customers\development\subdomain2

subdomain3.domain.com ----> C:\customers\development\subdomain3

Возможно ли сделать автоматически?

Я перепробовал эти правила web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
             <rule name="rewrite" enabled="true" stopProcessing="true">
               <match url="(.*)" />
               <conditions>
                        <add input="{HTTP_HOST}" pattern="^(?!www\.)(.*)\example\.com$" />
               </conditions>
               <action type="Rewrite" url="/{C:1}/" appendQueryString="true" logRewrittenUrl="true" />
             </rule>
           </rules>
        </rewrite>
    </system.webServer>
</configuration>

Заранее спасибо!

1 Ответ

0 голосов
/ 21 февраля 2020

Перезапись URL в основном используется для перезаписи URL, а не физического пути. Поэтому вам нужно создать веб-приложение с папкой root C: \ Customers \ development и привязать все поддомены к этому сайту IIS. Затем измените ваше правило на

 <rule name="rewrite" enabled="true" stopProcessing="true">
               <match url="(.*)" />
               <conditions>
                        <add input="{HTTP_HOST}" pattern="^(?!www\.)(.*)\.example\.com$" />
               </conditions>
               <action type="Rewrite" url="/{C:1}/{REQUEST_URI}" appendQueryString="true" logRewrittenUrl="true" />
             </rule>

Пожалуйста, измените ^(?!www\.)(.*)\example\.com$ на ^(?!www\.)(.*)\.example\.com$.

Наконец, вы должны указать субдомен на вложенную папку

Кроме того, если приложение в папке domain1 / domain2 и domain3 три независимых проекта, поэтому вам нужно использовать подпапку вместо папки.

...