モバイルサイトの302リダイレクトについて

このQ&Aのポイント
  • モバイルサイトの作成において、リダイレクトがうまく機能しない問題が発生しています。
  • 現在、.htaccessファイルにリダイレクトの設定を記述していますが、携帯でPCサイトにアクセスするとリダイレクトされず、PCサイトが表示されてしまいます。
  • この問題の原因と解決策についてアドバイスをいただきたいです。
回答を見る
  • ベストアンサー

モバイルサイトの302リダイレクトについて

いつもアドバイスいただきありがとうございます。 現在、モバイルサイトの作成をしているのですが、リダイレクトについてわからないこと がありましたので、質問させてください。 rootに、.htaccessを配置し以下のように記述しております。 RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^DoCoMo RewriteRule ^$ /m/i/ [R=302,L] しかし、携帯でPCサイトにアクセスするとトップページ以外、リダイレクトされず、 そのままPCサイトが表示されてしまいます。 http://www.abc.com/123.html → http://www.abc.com/123.html いったい、何が原因なのでしょうか。初歩的な質問で申し訳ありませんが、 アドバイスいただけないでしょうか。よろしくおねがいします。

  • HTML
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.1

RewriteRule が、^$ なので、トップページだけが対象になります。 RewriteRule ^(.*) /m/i/$1 [R=302,L] かな?

hamu1985
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 notnotさんの仰るとおりにやってみたところ、若干、修正は必要 だったものの上手く動作するようになりました。 本当によかったです!リダイレクトでこんなに時間を使うとは 思ってもいませんでした(笑) notnotさん、ありがとうございました。

関連するQ&A

  • .htaccessで携帯サイトとPCサイトの振り分けについて

    .htaccessで携帯サイトとPCサイトの振り分けについて お世話になります。 .htaccessで携帯サイトとPCサイトの振り分けで困っています。 現在、index.phpで携帯サイトとPCサイトの振り分けしています。この場合、PCサイトのトップページがindex.htmlではなく他の名前にしなくてはならないようで、現在はpc.htmlにしています。 どうにかpc.htmlではなく、index.htmlのまま携帯サイトとPCサイトの振り分けをしたいのです。 .htaccessであればできそうなので、いろいろと調べながら試したのですがうまくいきませんでした。 使用しているサーバーはさくらのレンタルサーバーで、ライトプランです。 mod_rewriteは入ってると記載してありました。.htaccessもOKなようです。 以下のように.htaccessファイルに記述して試しました。 例1) RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^vodafone [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SoftBank [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^KDDI [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Up.Browser [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ASTEL [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^DDIPOCKET [NC] RewriteRule ^$ abc.com/m/ [R] 例2) Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_USER_AGENT} DoCoMo RewriteRule ^$ http://www.abc.com/m/index.html [R] RewriteCond %{HTTP_USER_AGENT} J-PHONE RewriteRule ^$ http://www.abc.com/m/index.html [R] RewriteCond %{HTTP_USER_AGENT} UP.Browser RewriteRule ^$ http://www.abc.com/m/index.html [R] 素人ですので、できましたら記述全文教えていただけるとありがたいです。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • htaccessでリダイレクトが効かない

    スマーフォンからWEBへアクセスがあった場合、htaccessで/m/へリダイレクトしているのですが、 検索エンジンアプリ(Google/Yahoo)で検索した結果をクリックすると、 リダイレクトが効かず、PCページのトップページが表示される、 あるいは該当のPCのページが表示されるという問題に直面して困っています。 ただ、iPhoneのSafariの検索窓から検索した結果をクリックすると、 問題なくリダイレクトされます。 RewriteEngine On RewriteCond %{REQUEST_URI} !^/m/.*$ RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|Android|BlackBerry|Windows.Phone) [NC] RewriteCond %{REQUEST_FILENAME} \.(html)$ [NC] RewriteCond %{HTTP_USER_AGENT} !iPad [NC] RewriteCond %{HTTP_COOKIE} !viewmode=pc RewriteCond %{QUERY_STRING} !viewmode=pc RewriteRule ^$ http:\/\/URLを記入しています/m/ [R=301,L] 上記の書き方の何かがおかしいのでしょうか? おわかりになる方いらっしゃいましたら教えていただけませんか。

    • 締切済み
    • CSS
  • htaccessによる端末ごとによる振り分け

    htaccessによる振り分けに関しまして、 PC:/ スマートフォン:/sp/ モバイル:/m/ 端末ごとに振り分けを行いたいです。 ■PC では、/sp/フォルダ、/m/フォルダにアクセスしても、 URLから、各フォルダが除かれ、PCファイルが読み込まれます。 ■スマートフォンでは、/sp/フォルダが入っていないときは、 問題なく、URLに/sp/が加わり、スマートフォンサイトが読み込まれます。 ですが、http://○○.com/m/index.php等でアクセスを行うと、 http://○○.com/sp/m/index.phpのようなURLになります。 ※これは、http://○○.com/sp/index.phpへアクセスしてほしいです。 ■モバイルでは、/m/フォルダが入っていないときは、 問題なく、URLに/m/が加わり、モバイルサイトが読み込まれます。 ですが、http://○○.com/sp/index.php等でアクセスを行うと、 http://○○.com/m/sp/index.phpのようなURLになります。 ※これは、http://○○.com/m/index.phpへアクセスしてほしいです。 ■モバイル・スマートフォンのリダイレクトに関しまして、 改善するためのご意見をお願い致します。 よろしくお願い致します。 ■htaccessの中身です。 RewriteEngine on #スマートフォン RewriteCond %{REQUEST_URI} !/sp/ RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone) RewriteRule ^(.*)$ sp/$1 [R] #RewriteRule ^(.*)$ sp/ [R] RewriteBase / #モバイル RewriteCond %{REQUEST_URI} !/m/ RewriteCond %{HTTP_USER_AGENT} (DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^(.*)$ m/$1 [R] #RewriteRule ^(.*)$ m/ [R] RewriteBase / #PC RewriteCond %{REQUEST_URI} /sp/ RewriteCond %{HTTP_USER_AGENT} !(iPod|iPhone|iPad|Android|Windows\ Phone) RewriteRule ^sp/(.*)$ $1 [R] #RewriteRule ^sp/(.*)$ / [R] RewriteBase / #PC RewriteCond %{REQUEST_URI} /m/ RewriteCond %{HTTP_USER_AGENT} !(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^m/(.*)$ $1 [R] #RewriteRule ^m/(.*)$ / [R] RewriteBase /

  • .htaccessでリダイレクトしたいです@さくら

    .htaccessでwwwなしのサイトにリダイレクトをかけたいのですが、うまくいきません。 色んな方法がサイトにありそれを試しているのですが、 一瞬テストでうまくいったと思ったのですが、それ以降うまくいかなくなってしまいました。 使用しているプロバイダはさくらインターネットです。 今までに試したコマンドは下記です。 --------------------------- <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.hoge\.com)(:80)? RewriteRule ^(.*) http://hoge.com/$1 [R=301,L] </IfModule> --------------------------- RewriteEngine on RewriteCond %{HTTP_HOST} www¥.hoge¥.com RewriteRule .* http://hoge.com%{REQUEST_URI} [R=301,L] --------------------------- .htaccess を設置しているディレクトリは /home/hoge/www になります。 ぜひ教えていただけないでしょうか。よろしくお願いいたします。 また、.htaccessは変更してどのくらいで反映されるのか、補足的に教えていただけると助かります。 以上、よろしくお願いいたします。

  • httpからhttpsへのリダイレクト方法

    すいません、よくわかりませんので教えて下さい。.htaccessに記述してhttpにアクセス来たものをhttpsへリダイレクトしたいです。 今の状況は下記です。 AddHandler application/x-httpd-php53 .php RewriteEngine On # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(sanetsu.com) RewriteCond %{REQUEST_URI} !^/(sanetsu.com)/ RewriteRule ^(.*)$ http://www.sanetsu.com/$1 [L] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(www.burikama.com) RewriteCond %{REQUEST_URI} !^/(www.burikama.com)/ RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(burikama.com) RewriteCond %{REQUEST_URI} !^/(burikama.com)/ RewriteRule ^(.*)$ http://www.burikama.com/$1 [L] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress すいません、上記の記述をどのように変更したらhttpsへリダイレクトさせることができますでしょうか?前任のweb担当の方と連絡が付かないので教えていただけたらありがたいです。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • htaccess ユーザーエージェント 振り分け 

    htaccess でユーザーエージェント 振り分けを行いました。http://www.example.com/ 以下に htaccessを入れましたが、PCのSEO対策上問題があるでしょうか? RewriteEngine On RewriteCond %{HTTP_USER_AGENT} DoCoMo RewriteRule ^$ http://www.example.com/i/index.html [R] RewriteCond %{HTTP_USER_AGENT} J-PHONE RewriteRule ^$ http://www.example.com/s/index.html [R] RewriteCond %{HTTP_USER_AGENT} Vodafone RewriteRule ^$ http://www.example.com/s/index.html [R] RewriteCond %{HTTP_USER_AGENT} SoftBank RewriteRule ^$ http://www.example.com/s/index.html [R] RewriteCond %{HTTP_USER_AGENT} UP.Browser RewriteRule ^$ http://www.example.com/e/index.html [R]

    • ベストアンサー
    • HTML
  • .htaccessでPCと携帯サイトを振り分けたい

    急ぎの仕事で、PCサイトと携帯サイトを振り分けなければならず、 一番使いやすそうな .htaccess を試しているところです。 いろんなサイトを見て、 (PCサイト) www.aaa.com/ から (携帯サイト) www.aaa.com/i/ に振り分ける事には成功したのですが、 携帯からでも www.aaa.com/index.html と入力すると、振り分け出来ずに そのままPCサイトが表示されてしまいます。 .htaccessの記述は以下の通りです。 RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [OR] RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [OR] RewriteCond %{HTTP_USER_AGENT} ^Vodafone [OR] RewriteCond %{HTTP_USER_AGENT} ^SoftBank [OR] RewriteCond %{HTTP_USER_AGENT} ^MOT- [OR] RewriteCond %{HTTP_USER_AGENT} ^KDDI [OR] RewriteCond %{HTTP_USER_AGENT} UP\.Browser RewriteRule ^$ /i/index.html [R] また、auのSH008でテストを行っております。 ここから先がどうしても分からないので、 どなたか知恵を貸していただけませんでしょうか? まだ初心者で、内容を完璧には理解できておりませんので 出来ましたら全文を記述していただけると大変助かります。 以上、よろしくお願いいたします。

  • ハッスルサーバーでの301リダイレクト設定について

    ハッスルサーバーにてサイトを運営している者です。 http://www.abc.com/ と http://abc.com/ どちらのページも閲覧できてしまう為、これを 「www」有りに統一したく、「.htaccess」を使用して 301リダイレクトを試みておりますが、実際に「.htaccess」を アップロードすると、www有り無し両方とも500サーバーエラーと なってしまいます。 記述は下記に習いました↓ RewriteEngine on RewriteCond %{HTTP_HOST} ^hogehoge¥.com ←注意:左記のエンマークは半角にして下さい。 RewriteRule (.*) http://www.hogehoge.com/$1 [R=301,L] ご教授くださいませ。よろしくお願いします。

  • htaccess リダイレクトの記述方法

    「wwwなし http://www.abc.net/」から 「wwwありに統一 sslありのhttps://www.abc.net/」にリダイレクトしたいのですが、以下の記述で合っていますでしょうか。よろしくお願いします。 Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^abc.net RewriteRule ^(.*)$ http://www.abc.net/$1 [R=301,L] RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    • ベストアンサー
    • HTML
  • .htaccessを使った、携帯の振り分け

    サイトの.htaccessを使った、携帯とPC用ページの振り分けについてです。 サイト(http://~.com/)にアクセスした時に RewriteEngine on RewriteCond %{HTTP_USER_AGENT} "DoCoMo" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "J-PHONE" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "KDDI" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "UP.Browser" [NC] RewriteRule ^$ m/ [L] と、上のように.htaccessで携帯でアクセスしたときは(http://~.com/m/)飛ばすようにしました。 トップページはうまく表示できたのですが、そこから(http://~.com/m/)以下のディレクトリに行けません。 (パスは絶対パスではなく相対パスです) どうやら(http://~.com/m/)自体に飛んでるのではなく、(http://~.com/)で(http://~.com/m/)の内容を表示しているようです。 (http://~.com/m/)自体に飛ばすにはどうすればいいのでしょうか? よろしくお願いします。

専門家に質問してみよう