我想为选定的语言重写我的查询字符串。
我有以下网址:www.example.com/?lang = en,希望它是www.example.com/en
它应该在所有页面上重写。所以www.example.com/contact.aspx?lang=en将是www.example.com/en/contact.aspx
这是否有一般的重写规则?
答案 0 :(得分:2)
这个有效。
<rule name="Rewrite Language">
<match url="([a-z]{2})(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="{R:2}?lang={R:1}" />
</rule>
答案 1 :(得分:0)
我的语法可能有些偏差,但您可能会做这样的事情:
<rewrite>
<rules>
<rule name="Rewrite Language">
<match url="/([a-z]+)/([_0-9a-z-]+)" />
<action type="Rewrite" url="{R:2}?lang={R:1}" />
</rule>
</rules>
</rewrite>
答案 2 :(得分:0)
请考虑使用以下内容:
<rewrite>
<rules>
<rule name="Rewrite Language">
<match url="/([a-z]{2})(.*)" />
<action type="Rewrite" url="{R:2}?lang={R:1}" />
</rule>
</rules>
</rewrite>