2

IIS URL Rewrite モジュールを使用して、HTTP_USER_AGENT をチェックすることにより、モバイル ブラウザーからのすべての要求を m.mymobilesite.com にリダイレクトします。これで問題なく動作するので、ユーザーがメイン サイトを表示できるようにする「View Full Site」リンクを実装する必要があります。ユーザーが「View Full Site」リンクをクリックしたときに「nomobile」Cookie を追加することで、これを達成しようとしています。これは、ルールによって検証および否定されます。何らかの理由で、私のルールが機能していないようです。

助けてください。

<rewrite>
<rules>
    <rule name="MobileRedirect" patternSyntax="ECMAScript" stopProcessing="true">    
        <match url=".*" ignoreCase="true" />
        <conditions logicalGrouping="MatchAll">
            <add input="{HTTP_COOKIE}" pattern="nomobile" ignoreCase="true" negate="true" />
            <add input="{HTTP_USER_AGENT}" pattern="android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera mobile|palmos|webos" />
        </conditions>    
        <action type="Redirect" url="http://m.mymobilesite.com" appendQueryString="false" redirectType="Found" />
    </rule>
</rules> </rewrite>
4

1 に答える 1

0

ルールは完璧です。ここで説明されているように、IIS レベルで失敗した要求をトレースした後、問題を把握しました。

ユーザーが「View Full Site」リンクを選択しているときに作成していた Cookie は、ドメイン名で作成されませんでした。Cookie 作成スクリプトに domain="mymainsite.com" を追加しましたが、現在は正常に動作しています。

于 2012-11-13T20:58:40.903 に答える