私は自分のサイトのモバイル版の特別な店頭を作りました。モバイルデバイスをそこにリダイレクトし、デスクトップサイトにリンクする方法は?


7

私はしましたセットアップ、特別なモバイル下ストア/ストアフロントサブドメイン - www.m.mydomain.comによると、このチュートリアル

このコードをその他のスクリプト追加して、顧客がモバイルデバイスから接続していることをシステムに検出させ、トラフィックをwww.m.mydomain.comに転送します。

m.MYdomain.comに特別なレスポンシブモバイルストアがあります。Magentoがモバイルデバイスを検出し、トラフィックをm.Mydomain.comに転送する方法を教えてください。

しかし、今ここで説明するように.htaccessファイルを変更することで、より良い解決策が得られると考えています。

しかし、私はそのコードをどこに置くのか分かりませんか?また、その投稿は2010年のものです。モバイルデバイスとタブレットの開発を考えると、何か新しいことはありますか?

また、モバイルサイト(www.m.mydomain.com)に大きなボタンを配置して、顧客が選択した場合にデスクトップバージョンのサイト(www.mydomain.com)にリダイレクトする必要もあります。それを行う最良の方法は何ですか?

つまり、これはどのように機能しますか?ループから抜け出せませんか?お客様がwww.mydomain.comに送信するボタンをクリックすると、スクリプトはモバイルデバイスであることをもう一度検出し、トラフィックをwww.m.mydomain.comに転送し直しますか?私はクッキーでそれをすることについて読んだが、正確にはどのように?そして、どのようにそのボタンを設定しますか?

私は次のような簡単な解決策を探しています。このコードを取得して、ここに配置します。このコードをここで変更すれば完了です。:o)

私の例では、デスクトップサイトはwww.mydomain.comで、モバイルはwww.m.mydomain.comですが、デスクトップのストア名とストアフロント名はmydomain.comで、モバイルのストア名とストアフロント名は:mmydomaincom


12月12日更新

別のテーマを読み込むように言わないでください。私はすでに素晴らしいレスポンシブテーマを持っています!これは問題ではありません。私のモバイルサイト(www.m.mysite.comにあります)にリダイレクトしたいのは、デスクトップのフロントページに約50の製品があり、多くのものが(SEO会社によってそこに配置されたテキストなど)あるためです。スペースを占有しているだけであり、モバイルデバイスにその混乱を表示する必要はありません。モバイルデバイスでの注文は、不要な迷惑メールがなく、迅速かつ簡単である必要があると思います。それは言った-私はここで車輪を再発明することを試みていません。2つ必要です。

1.モバイルデバイスを検出し、検出された場合-www.mysite.comではなくwww.m.mysite.comをロードします

2.何らかの理由で(高速Wi-Fi接続に接続している可能性があります)、代わりにデスクトップバージョンが必要で、クリックしてwww.mysite.comを表示したときに機能するようにするボタンを追加します。

携帯電話でwww.ebay.comにアクセスすると、 "m.ebay.com"にリダイレクトされます。YouTube、Facebook、Twitter、LinkedInと同じです。古いアプローチだと言わないでください。これらの数十億ドル規模の企業がそれをしているなら、それはその背後にある論理を持っています...


stackoverflow.com/questions/3680463/... wpandsuch.com/...セットクッキー&国旗へのUの必要性は、それがうまくいきます。U .htaccessは、すでに提供されているMagento Default を参照することもできます
Ankit Shah

こんにちは@Allysin私が提供したこのリンクからソリューションを共有してください。
Ankit Shah、2016

回答:


1

0
<?php

$useragent=$_SERVER['HTTP_USER_AGENT'];

if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))

header('Location: http://detectmobilebrowser.com/mobile');

?>

ヘッダーの場所で、モバイルデバイスのストアURLを指定します


これはよさそうだ。このコードを.htaccessファイルに配置しますか?また、顧客がボタンをクリックしてフルデスクトップバージョンに戻すリダイレクトをどのように処理しますか?
Allysin

ユーザーがボタンをクリックするとデスクトップバージョンにリダイレクトされます
Jigs Parmar

このコードは.htaccessファイルでは使用されません。このコードをヘッダーファイルに入れます
Jigs Parmar

0

モバイルデバイスの例外を追加する必要があります。に移動しMagento administrative area -> System -> Configuration -> Design -> Themesます。テンプレート、スキン、レイアウトラベルの横にある[例外の追加]ボタンをクリックします。

一致した例外については、 **iPhone|iPod|BlackBerry|Palm|Googlebot-Mobile|Mobile|mobile|mobi|Windows Mobile|Safari Mobile|Android|Opera Mini**

このソリューションは、モバイルストア用に異なるカスタムテーマがあることを前提としています


正解ですが、これは、顧客が必要に応じてモバイルサイトにデスクトップサイトを表示できるようにするという質問には対応していません。モバイルサイトにリダイレクトされるだけだからです。
Giel Berkers

@Vlad Patru私はすでにレスポンシブなテーマを持っています。別のテーマにリダイレクトするつもりはありません。私のモバイルストアにリダイレクトする必要がありますfront = www.m.mysite.com eBay、YouTube、Facebook、Twitter、LinkedInなどの企業にとって十分な場合は、それで十分です。言うまでもなく、デスクトップのフロントページには多くの製品があり、不必要なテキスト(SEO)が多すぎます。モバイルサイトには、12の製品しかなく、この役に立たないテキストはありません。2016年には、モバイルデバイスを検出してwww.m.mysite.comにリダイレクトし、そこにボタンを配置してデスクトップバージョンに戻るのが難しいとは思えません
Allysin

モバイルデバイスを検出することは難しくありません。ただし、副作用に注意してください。「Android」をチェックすると、デスクトップバリアントを完全に表示できるAndroidタブレットにも一致します。サーバー側で解決を検出できません。しかし、問題が非常に多くの製品のみである場合は、XHRリクエストを使用して製品ブロックをロードするだけでは不十分です。これはJavaScriptで行われるため、解像度を検出して、大きなセットをロードするか、小さなセットをロードするかを決定できます。
Giel Berkers

0

まず、あなたが提供したリンクはマルチサイト/マルチストアをセットアップするためのものです。たとえば、多言語サイトがある場合。ドメイン名のパターンを検出し、設定されている場合は適切なストアコードを設定します。

2番目の質問に答えると、.htaccess2010年のコードは引き続き機能するはずです。まだテストしていませんが、ユーザーエージェントと正規表現を照合するだけで、それ以来ほとんど何も変わっていません。

したがって、2番目の例を使用してリダイレクトを設定できます。ただし、.htaccess-ruleを効果的に無視して、サイトにリダイレクトできるようにする必要があります。

私はあなたの最善の策は-ruleを使わない.htaccessで、むしろMagentoにユーザーエージェントに従ってリダイレクトを処理させることかもしれないと思う。これを設定する方法については、この記事を参照してください。

次に、2番目の課題は、誰かがモバイルデバイスの1つでリンクを明示的に選択した場合、Magentoにこのリダイレクトを無視させることです。リダイレクトを処理するMagentoのコードを追跡し、このコードを書き換えるモジュールを作成することで(または、幸運なことにそのためのイベントがある場合)、これを最もうまく処理できると思います。次に、モジュールで、URLにフラグ(など?noredirect)があるかどうかを確認し、ユーザーセッションにフラグを追加して、リダイレクトがトリガーされないようにします。

したがって、達成しようとしていることに対する「1行の解決策」はありませんが、Magentoの使い方を知っている場合は、設定するのはそれほど難しくありません。

しかし...そもそもなぜモバイルサイトを使うのか?テンプレートをレスポンシブにしてみませんか?モバイルリダイレクトなど2001 ...


答えを書いてくれてありがとう。後でこれを読んでくれる人がいてくれるといいのですが。私の場合-レスポンシブサイトがありますが、www.m.mydomain.comリダイレクトする必要があります。理由はたくさんあります。1つは、フロントページに48の製品があり、携帯電話での読み込みが非常に遅いことです。モバイルデータ接続だけで。2.-SEOのため、デスクトップのフロントページに何とか何とか何とかテキストが表示されていますが、モバイルでは必要ありません。あなたがwww.ebay.comに行けば、それは.. "m.ebay.com"のYouTube、FacebookやTwitter、LinkedInのと同じにリダイレクトする
Allysin

ヴラドの答えについての私のコメントをご覧ください。別のオプションは、XHRリクエストで製品カタログをロードすることです。「何とか何とか何とか」はCSSで簡単に隠すことができます(あなたのテキストは数百キロバイトではないと思います)。しかし、本当にリダイレクトロードを実行したい場合でも、リダイレクトループを防ぐためにセッションにフラグを設定するモデルを作成する必要があると思います。
Giel Berkers

Magentoはとても賢いですね。あなたの言うことは実際には理にかなっていますが、私にとっては、XHRリクエストでカタログのロードを設定し、CSSでテキストを非表示にすることさえ実際には難しいでしょう。私はできる限りKISS(Keep It Simple、Stupid)モードで作業するように心がけ、フロントページで異なるレスポンシブテーマと異なる製品でサブドメインを設定するのが最も簡単な方法です(すでに完了しています)。私はまだリダイレクトとリンクバックのセットアップ方法に行き詰まっています:-(私は誰かがこれを行うためにそこにいるすべての人々のために5のステップレシピを実行できることを望みます
Allysin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.