URL重写语言查询字符串

时间:2009-07-02 18:23:13

标签: iis-7 url-rewriting

我想为选定的语言重写我的查询字符串。

我有以下网址:www.example.com/?lang = en,希望它是www.example.com/en

它应该在所有页面上重写。所以www.example.com/contact.aspx?lang=en将是www.example.com/en/contact.aspx

这是否有一般的重写规则?

3 个答案:

答案 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>