我正在面对URL重写模块的问题。IIS Url-Rewrite:URL不会被识别
我想要达到的目标: 我有一个地址为“test-server”的网站。当输入URL时,我想通过{HTTP_ACCEPT_LANGUAGE}变量将URL更改为“test-server/de”或“test-server/en”。 这只适用于URL“test-server”,所以当用户在像“test-server/de /”这样的子页面上时,他可以手动将URL改为“test-server/en /”而不用重定向再次。
这是我有权知道:
<rewrite>
<rules>
<rule name="ToGermanPage" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_ACCEPT_LANGUAGE}" pattern="^de" />
<add input="{URL}" pattern=".+test-server" />
</conditions>
<action type="Redirect" url="{R:0}/{HTTP_ACCEPT_LANGUAGE}" appendQueryString="true" />
</rule>
<rule name="ToEnglishPage" enabled="true" stopProcessing="true">
<match url="^test-server" />
<action type="Redirect" url="http://test-server/en" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
<add input="{HTTP_ACCEPT_LANGUAGE}" pattern="^de" negate="true" />
</conditions>
</rule>
</rules>
</rewrite>
我的问题是,如果我键入以下内容: 这将无法识别URL,同样适用于条件内的{URL}参数。
除了 之外,这样做了。当HTTP_ACCEPT_LANGUAGE ==“en-GB”时,它将重定向到“test-server/en-GB”,但其他人正是我所缺少的。 –
ChrisK