Iis 7 URL重写语言查询字符串
我想为所选语言重新编写查询字符串 我有这个URL:www.example.com/?lang=en,希望它是www.example.com/en 它应该在所有页面上重写。所以www.example.com/contact.aspx?lang=en应该是www.example.com/en/contact.aspxIis 7 URL重写语言查询字符串,iis-7,url-rewriting,Iis 7,Url Rewriting,我想为所选语言重新编写查询字符串 我有这个URL:www.example.com/?lang=en,希望它是www.example.com/en 它应该在所有页面上重写。所以www.example.com/contact.aspx?lang=en应该是www.example.com/en/contact.aspx 有一个通用的重写规则吗?我的语法可能有点不正确,但您可能可以这样做: <rewrite> <rules> <rule name="Rewrit
有一个通用的重写规则吗?我的语法可能有点不正确,但您可能可以这样做:
<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>
> > P>请考虑使用以下内容:
<rewrite>
<rules>
<rule name="Rewrite Language">
<match url="/([a-z]{2})(.*)" />
<action type="Rewrite" url="{R:2}?lang={R:1}" />
</rule>
</rules>
</rewrite>
这一个有效
<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>
这似乎不起作用。给我404 with example.com/en/contact.aspxI还没有玩过URL重写,但是动作标签的URL前面不需要一个前导“/”来匹配匹配标签URL中的前导“/”吗?