2017-08-07 78 views
0

我已經在特定頁面的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)將被重定向。對於其他網頁沒有必要。謝謝 !

回答

1

此規則將重定向:

/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> 
+0

你的第一條規則不起作用。有時候TestPage.aspx可能有參數。 Liton

+0

沒有重定向到/en/TestPage.aspx – Liton

+0

我剛剛檢查過我的規則,它對'/ ar/TestPage.aspx'有效。我收到重定向到'/ en/TestPage.aspx' –