1

現在、モバイル Web サイト バージョンの URL を次のようなルールで書き換えています。

<rule name="MOBILE example rule" stopProcessing="true" patternSyntax="ECMAScript">
   <match url="^([^/]+)/([^/\.]+)/([^/]+)/([^/]+)/?$" />
   <conditions logicalGrouping="MatchAny" trackAllCaptures="false">                                                                         
      <add input="{HTTP_USER_AGENT}" pattern="mobile|phone" />
      <add input="{HTTP_X-Device-User-Agent}" pattern="mobile|phone" />
      <add input="{HTTP_X-OperaMini-Phone-UA}" pattern="mobile|phone" />                        
   </conditions>
   <action type="Rewrite" url="/mobile/index.php?lang={R:1}&amp;cat={R:2}&amp;brn={R:3}&amp;mdl={R:4}" />
</rule>      

次に、ユーザーが Web サイトの「クラシック」デスクトップ バージョンにアクセスしたい場合に備えて、「forceNotMobile」Cookie を「true」に設定します。

問題は...この動作を行うためにどのような条件を追加できるかです:

  • Cookie が設定されている場合、ルールが機能し、URL が書き換えられます。

  • それ以外の場合、Cookie が設定されていないか、false に等しい場合は、何も書き換えずにルールの処理を停止します。

私はそのようなものを探していると思います:

<add input="{HTTP_COOKIE}" pattern="forceNotMobile=true" negate="true" />

しかし、「MatchAny」論理グループは「MatchAll」である必要があり、それは私の一連の「ua-is-mobile」ルールに準拠していません。

<conditions />ブロックを2つ追加できますか?

PS。UAがモバイルであるかどうかを確認する方法はありますか? どうすれば改善できますか?スマートフォンをモバイル版に「書き換え」たいだけです。

4

0 に答える 0