この URL を変換するリダイレクト ルールを実行するにはどうすればよいですか。
http://localhost/app/Company/HomePage.aspx?COMPANYID=2&FORCESHOWCASE=TRUE&THEMEPREVIEW=3
これに:
http://localhost/app/2/showcase/preview/3
ただし、ここでの秘訣は、COMPANYID を除くすべてのパラメーターがオプションであるため、URL を次のように指定できることです。
http://localhost/app/2/preview/3
また:
http://localhost/app/2/showcase
このパターンに一致する適切なリダイレクト ルールを見つけることができませんでした。私は次のことを試しました:
<rule name="RedirectUserFriendlyURLCompany" stopProcessing="true">
<match url="^Company/HomePage\.aspx$" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^COMPANYID=([^=&]+)(&FORCESHOWCASE=([^=&]+))?(&THEMEPREVIEW=([^=&]+))?$" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
<rule name="RewriteUserFriendlyURLCompany" stopProcessing="true">
<match url="^([A-Za-z0-9]+)/?([A-Za-z0-9]*)(/preview/([A-Za-z0-9]*))?/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="Company/HomePage.aspx?COMPANYID={R:1}&FORCESHOWCASE={R:2}&THEMEPREVIEW={R:4}" />
</rule>
書き換えルールは、いくつかのパラメーターまたはすべてのパラメーターを配置してうまく機能するかどうかを認識し、上記の URL のいずれかを試してみると、正しいパラメーターを使用して正しい URL に書き換えますが、問題はリダイレクト ルールにあります。ブラウザに入れた場合、まったく機能しません:
http://localhost/app/Company/HomePage.aspx?COMPANYID=2&FORCESHOWCASE=TRUE&THEMEPREVIEW=3
正しいページにリダイレクトされず、どうすればよいかわかりません。助けてください! 私の英語で申し訳ありませんが、事前に感謝します