小编use*_*188的帖子

在IIS 7.5中重写服务器变量

我有一个重写规则,它使用子域的值更改服务器变量.这适用于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>
Run Code Online (Sandbox Code Playgroud)

我测试了2个网址:1:subdomain.mydomain.nl/somethinghere 2:subdomain.mydomain.nl

我使用以下代码在PHP中检索变量:

echo $_SERVER['MYVARIABLE'];
Run Code Online (Sandbox Code Playgroud)

在URL 1的情况下,其输出是"子域".

在URL 2的情况下,其输出为"".

URL 1的输出是正确的,但URL 2的输出也应该是"子域".

我已经运行了两个请求的跟踪,它们都显示规则正在匹配和执行.

谁能帮我?

iis url url-rewriting

5
推荐指数
1
解决办法
6790
查看次数

标签 统计

iis ×1

url ×1

url-rewriting ×1