为特定页面重写规则以防止特定文化
问题描述:
我已经在特定页面的web.config文件中编写了重写规则,并且我希望将它从阿拉伯文化'ar'重定向到带参数url的英文'en'。为特定页面重写规则以防止特定文化
我现在的原则是
<rule name="Home page with parameter" stopProcessing="true">
<match url="^/ar/TestPage.aspx?id=10" />
<action type="Redirect" url="/en/TestPage.aspx?id={R:1}" />
</rule>
但它不工作。任何其他方式可以实现这一目标吗?只有这个(TestPage.aspx)将被重定向。对于其他网页没有必要。谢谢 !
答
此规则将重定向:
/ar/TestPage.aspx
到/en/TestPage.aspx
/ar/TestPage.aspx?abc
到/en/TestPage.aspx?abc
到/en/TestPage.aspx?id=10
<rule name="Home page with parameter" stopProcessing="true">
<match url="^ar(/TestPage.aspx)" />
<action type="Redirect" url="/en{R:1}" />
</rule>
如果你想重定向只有当查询字符串有参数id
,日你需要修改这样的规则:
<rule name="Home page with parameter" stopProcessing="true">
<match url="^ar(/TestPage.aspx)" />
<conditions>
<add input="{QUERY_STRING}" pattern="id=" />
</conditions>
<action type="Redirect" url="/en{R:1}" />
</rule>
你的第一条规则不起作用。有时候TestPage.aspx可能有参数。 –
Liton
没有重定向到/en/TestPage.aspx – Liton
我刚刚检查过我的规则,它对'/ ar/TestPage.aspx'有效。我收到重定向到'/ en/TestPage.aspx' –