web-dev-qa-db-ja.com

IIS 7.5リダイレクト/ URLモバイル版のウェブサイトに書き換える

ウェブサイトをモバイル版のウェブサイトにリダイレクトするためのIISソリューション(プログラミングではない)を探しています。 IISリダイレクトまたはIIS URL Rewrite 2.0を使用すると、可能であるように見えますが、確かではありません。もしそうなら、これについてどうやって行くのでしょうか?

例:mywebsite.com/は(モバイルデバイスの場合)mywebsite.com/mobileにリダイレクトします

補足:現在、httpをhttpsにリダイレクトするためにIISRedirectを使用しています。

7
thames

IIS書き換えルールで条件を使用できるはずです。

<rule name="MobileBrowser" stopProcessing="true">
  <match url=".*" />
  <conditions logicalGrouping="MatchAll">
    <add input="{HTTP_COOKIE}" pattern="nomobile" ignoreCase="true" negate="true" />
    <add input="{REQUEST_URI}" pattern="/mobile.*" negate="true" />
    <add input="{FileContains:{HTTP_USER_AGENT}}" pattern=".+" />
  </conditions>
  <action type="Rewrite" url="http://mysite.com/mobile" appendQueryString="false" redirectType="Found" />
</rule>

テストする2008R2マシンがなく、構文が正しいことを確認しますが、正しい方向に進むには十分なはずです。

このルールの基本は次のように述べています。

  • 任意のURLに一致
  • ブラウザがない限り「nomobile」Cookieを持っている
  • リクエストURLにはnotすでに/ mobileが含まれていません
  • ユーザーエージェントはファイルの内容を照合します。

このルールでは、カスタムプロバイダーを使用する必要があるため、モバイルである可能性のあるさまざまなユーザーエージェントをすべて保存できます(それらのリストは長いです)。カスタムプロバイダーを設定するには、 ここ を見てください。

モバイルデバイスでもフルサイズのサイトを見たいという人もいるので、Cookieチェックを追加しました。これにより、ブラウザにCookieを設定することでそれを処理する方法が提供され、ルールはそれらをスキップします。

少し単純なバージョンがあります ここ これもいくつかの例に一致します。

5
Jon Angliss