【发布时间】:2012-01-08 18:05:23
【问题描述】:
我有一个重写规则,它用子域的值更改服务器变量。 这适用于 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 个网址: 1: subdomain.mydomain.nl/somethinghere 2:子域.mydomain.nl
我使用以下代码在 PHP 中检索变量:
echo $_SERVER['MYVARIABLE'];
对于 URL 1,其输出为“子域”。
在 URL 2 的情况下,它的输出是 ""。
URL 1 的输出是正确的,但是 URL 2 的输出也应该是“子域”。
我已经对这两个请求进行了跟踪,它们都表明规则正在被匹配和执行。
谁能帮帮我?
【问题讨论】:
标签: url iis url-rewriting