2010-12-19 11 views
0

ユーザーが私のWebサイトwww.myUrl.comをモバイルブラウザで表示している場合は、それらをmobile.myUrl.comにリダイレクトします。 私はこのスレッドAuto detect mobile browser (via user-agent?)を読んで、ユーザエージェントを検出してからユーザをリダイレクトするべきだと言います。ユーザーがモバイルの場合、mobile.myUrl.comに書き直すにはどうすればよいですか? (Apacheを使用するか、Webapp内で使用しますか?)

しかし、私はmobile.myUrl.comにリダイレクトする方法を教えてくれるスレッドは見つかりませんでした。それにApacheを使うべきですか?それとも私はWebappの中でそれを行うべきですか?

+0

可能重複[オート(?ユーザーエージェントを介して)モバイルブラウザを検出](http://stackoverflow.com/questions/1005153/auto-detect-mobile-ブラウザでユーザーエージェントを使用して)、Apache Rewriteを使用するか** IISの書き換えに相当する** – ajreal

+0

@ajreal:掲載されているOPは読んでいます。 –

+0

@Evan Mulawski - その回答にはApacheの書き換えが含まれていますが、私は再び同じ質問を繰り返す理由は見当たりません。 – ajreal

答えて

3

JAVASCRIPT

まず、私はほとんどのモバイルデバイスは、Javascriptを無効にする機能を持っていることを指摘してみましょう。

モバイルデバイス向けのリダイレクトの最も一般的な形式は、Javascriptです。 (AppleのWebサイトでは、この方法が使用されています)。ページが読み込まれると、ブラウザ、ユーザタイプ、デバイスタイプ、オペレーティングシステムの詳細を示すブラウザ固有の(およびOS固有の)文字列であるユーザエージェントを特定するスクリプトが実行されます。この文字列は、既知のモバイルデバイスと照合されます。たとえば:

<script language=javascript> 
<!-- 
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) 
{ 
    location.replace("http://mobile.myurl.com"); 
} 
--> 
</script> 

は、このスクリプトは、「mobile.myurl.com」と「iPhone」や「iPodの」を含むユーザエージェントとの任意のブラウザをリダイレクトします。

これは、他のデバイスをチェックする必要があります。

http://www.hand-interactive.com/resources/detect-mobile-php.htm

APACHE

:あなたはPHPと互換性のあるサーバーを使用している場合

http://www.hand-interactive.com/resources/detect-mobile-javascript.htm

は、このサイトを参照してください。

チェックの詳細については、このサイトmod_rewriteエンジンを使用するだけで、ちょうど上記のJavascriptの方法と同様に、特定のユーザーエージェント文字列とブラウザをリダイレクト:

RewriteEngine on 
RewriteCond %{HTTP_USER_AGENT} iPhone 
RewriteCond %{HTTP_USER_AGENT} iPod 
RewriteRule .* http://mobile.myurl.com/ [R] 

これは、「iPhone」および「iPodの」ユーザーのためにチェックし、サイトのモバイル版にリダイレクトします。ここ

より:

http://www.themepremium.com/htaccess-code-http_user_agent-of-multiple-phone-browsers-for-wordpress-blogs/

+0

Apacheのリライトはきれいにカットされ、より効率的です。 – ajreal

+0

@ajreal:私はapacheメソッドを追加しました。 –

+0

あなたは、書き換え、余分なルールの余分なオーバーヘッドを組み合わせることができます – ajreal

関連する問題