我正在面對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