У меня есть правило перезаписи, которое изменяет серверную переменную на значение субдомена. Это работает на subdomain.mydomain.nl/somethinghere но не на subdomain.mydomain.nl
<rule name="Change code" enabled="true" patternSyntax="ECMAScript" stopProcessing="false">
<match url=".*" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="{SERVER_NAME}" pattern="(www\.)?(\w+)\.mydomain\.nl" />
<add input="{SERVER_NAME}" pattern="^www.mydomain.nl.*" negate="true" />
<add input="{SERVER_NAME}" pattern="^mydomain.nl.*" negate="true" />
</conditions>
<serverVariables>
<set name="MYVARIABLE" value="{C:2}" />
</serverVariables>
<action type="None" />
</rule>
Я проверил 2 URL: 1: subdomain.mydomain.nl/somethinghere 2: subdomain.mydomain.nl
Я извлекаю переменную в PHP со следующим кодом:
echo $_SERVER['MYVARIABLE'];
В случае URL 1 выводом будет «субдомен».
В случае URL 2 выводом будет "".
Вывод URL 1 правильный, но вывод URL 2 тоже должен быть «субдоменом».
Я выполнил трассировку обоих запросов, и они оба показывают, что правило соблюдается и выполняется.
Кто-нибудь может мне помочь?