.htaccessでblogをiphone表示とPC表示に振り分けたいのですが...

機能の改善・追加に関するリクエストはこちらにお願いします。

.htaccessでblogをiphone表示とPC表示に振り分けたいのですが...

投稿記事by nico on 2010年10月19日(火) 15:48

.htaccessでblogをiphone表示とPC表示に振り分けたいのですが...

この件に数日費やして、あれこれと質問箱やフォーラムなどを見て回りましたが
見当たらずに困っております。。

どうぞ、お力をお貸しくださいませ。

現在、blogページを運営しています。

PC表示用に http://ドメイン/blog/ というサイトを作成し、その中に
iphone表示用に http://ドメイン/blog/i/ というblogページ  という構成で作成しています。


iphoneでアクセスがあった場合は、http://ドメイン/blog/i/に
PCでアクセスがあった場合は、 http://ドメイン/blog/と自動的に振分けられるように
はじめから設置されている.htaccessに、自分なりに下記を付け加えてみました。

付け加えたのは、/blog/ 下の.htaccessです。

# iPhone
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteCond %{REQUEST_URI} !^/blog/i
RewriteRule ^(.*)$ /blog/i$1 [R=302,L]

RewriteEngine onという表記は、もともとある.htaccessに記述されていましたので省きました。

そうしましたら、無事にiphoneで 
http://ドメイン/blog/ にアクセスすると
http://ドメイン/blog/i/ に飛ぶようになり、成功!と思ったのですが・・。

実は、twitterを使っており、blogの更新をtwitterにお知らせするようにしているので
twitterからのアクセスは、直接個別記事へとなります。

個別記事は、blog側で自動的にディレクトリが作成され、

 http://ドメイン/blog/article/個別記事ファイル名 

となるようで、その 

 http://ドメイン/blog/article/個別記事ファイル名

へphoneで直接アクセスをするとPCサイトがそのまま表示されてしまいます。

.htaccessは、設置したディレクトリ以下にはすべて反映されると思っておりましたので
どうしてかわからず困っております。


自動的にディレクトリが作成されるからなのでしょうか?

それとも、/blog/フォルダの中に
/blog/i/ と
/blog/article/ が並んでしまうからでしょうか・・・?


ゆくゆく、自動的に振り分けられる機能が追加されたら良いな。。と思い、こちらのカテゴリに投稿させていただきました。

ご教授、どうぞよろしくお願いいたします。
・…………・…………・…………・…………・…………・…………

 office*nico オフィス*ニコ / にしまき えつこ
 Official web site : http://officenico.com/
 Operation web site : https://officenico.net/

・…………・…………・…………・…………・…………・…………
nico
 
記事: 29
登録日時: 2010年9月20日(月) 22:29
所在地: フクシマケン

Re: .htaccessでblogをiphone表示とPC表示に振り分けたいのですが...

投稿記事by okada on 2010年11月26日(金) 23:57

nicoさん

こんばんは、okadaです。

 http://ドメイン/blog/article/個別記事ファイル名
へphoneで直接アクセスをするとPCサイトがそのまま表示されてしまいます。
とのことですが、
iPhoneでこのURLにアクセスされたときに表示されるのは
 http://ドメイン/blog/article/個別記事ファイル名
でしょうか?
それとも
 http://ドメイン/blog/
でしょうか?

Rewriteの設定ですが、
コード: 全て選択
# iPhone
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteCond %{REQUEST_URI} !^/blog/i
RewriteRule ^(.*)$ /blog/i$1 [R=302,L]
とされていますが、
# iPhone
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteCond %{REQUEST_URI} !^/blog/i
RewriteRule ^(.*)$ /blog/i/$1 [R=302,L]
が正しいように思います(/を1つ追加しました)。

もとのRewrite設定だと
 http://ドメイン/blog/article/個別記事ファイル名

 http://ドメイン/blog/iarticle/個別記事ファイル名
に転送されてしまい、
 http://ドメイン/blog/
のコンテンツが表示されてしまうように思います。

よろしくお願いいたします。
okada@株式会社日本情報化農業研究所

SOY CMS http://www.soycms.net/
SOY Shop http://www.soyshop.net/
SOY App http://www.soycms.net/extentions
開発ブログ http://www.soycms.net/blog/
Twitter http://twitter.com/SOY_CMS
okada
 
記事: 553
登録日時: 2008年6月07日(土) 00:49

Re: .htaccessでblogをiphone表示とPC表示に振り分けたいのですが...

投稿記事by kaiya on 2011年9月09日(金) 14:18

お世話になります。

携帯振り分けのhtaccessについてわからずに困ってたところ、フォーラムでこの記事を見つけたのですが、
すこし環境とやりたい事が異なるだけで、正規表現が理解できないので、応用がきかずに困っておりますので
なんとかお助け・・いただければ有難いです

やりたい事は、PC表示用に http://ドメイン/サイトID/blog名 がありますが

このブログ名のディレクトリより下の階層のすべての記事に対して モバイルからアクセスされた場合に
http://ドメイン/サイトID/blog名/mobile  に転送したいのです。

フォルダで区切った転送は成功したのですが
ブログにアクセスした すべてのファイルの転送方法がわかりません。

例: 
http://ドメイン/サイトID/blog名
http://ドメイン/サイトID/blog名/article/記事名
http://ドメイン/サイトID/blog名/category/カテゴリー名

どのパターンでも、モバイルアクセスの場合、http://ドメイン/サイトID/blog名/mobile に転送したい。


下記 が自分でやってみたのですが、全然間違っていると思います。

RewriteEngine on
RewriteBase /  
RewriteCond %{REQUEST_URI} !^?????
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]
RewriteRule ^(.*)$ /サイトID/ブログ名/mobile/$1 [R=302,L]


soyshopは、携帯降りわけがプラグインであるので、わかりやすかったのですが、

soycmsの場合は、携帯のミニページとPC用のページのURLが連動しているわけではないので
PCと携帯サイトを2つで運営する場合は、htaccessで振り分けるのが 通常のやり方なのでしょうか?

記事ごとに、自動的に連動はできないですよね?

どなたかお助けいただば幸いです。何日も費やしているのですが・・できません
kaiya
 
記事: 152
登録日時: 2011年3月01日(火) 20:27


Return to 機能の改善・追加リクエスト

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[4人]