みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

.htaccessでの携帯サイト振り分け方法について

大変困っています。幾日もかかっていますのでどなたかご助力ください。
携帯電話専用のホームページを作成しました。
ホームページのアドレス(URL)を統一してアクセスしてきた端末に応じて指定したページに振分けるようにしたいのです。

「.htaccessでの携帯サイト振り分け方法」はネットで探せば随分出てきますが、どの方法をとってもうまくいきません。
例えば  http://www.xxxxxxx.com/ というアドレスが私のアドレスとしてそれでアクセスするとエラー表示(403)
    http://www.xxxxxxx.com/index.htmlのindexを付けるとTOPページに行きます。
携帯でテストしてもエラーです。

本来の目的は http://www.xxxxxxx.com/ でアクセスして振り分けることです。   
PHPを使えるサーバーでしたので、PHPでやっても同じでした。
何が原因なのかわからなくなっています。
この携帯サイトはソフトを使って作成しました。
<サイト内の構造>
TOPページにある index.html(元々i.ez.sへリンク表示のみ。私はmetaタグにPCから来た人へ他アドレスにあるPCへリダイレクトするようにしました)

下層には i(Dokomoのフォルダ)、ez(auのフォルダ)、s(softbankのフォルダ)がありそれぞれindex, 画像が入っています。

構造は以上です。htaccessでおこなったことは、下記内容です。
1.TOPの「index.html」に下記の記述を「htaccess.txt」と言う名前で保存。(xxxxxxは自アドレスに変更)
----------------------------------------------------------------
-RewriteEngine On

RewriteCond %{REQUEST_URI} !^/i/
RewriteCond %{HTTP_USER_AGENT} "DoCoMo" [NC,OR]
RewriteRule ^(.*)$ http://xxxxxxx.co.jp/i/ [R,L]

RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC]
RewriteRule ^$ http://www.example.com/i/index.html [R]

RewriteCond %{HTTP_USER_AGENT} J-PHONE [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Vodafone [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SoftBank [NC]
RewriteRule ^$ http://www.example.com/v/index.html [R]

RewriteCond %{HTTP_USER_AGENT} UP.Browser [NC]
RewriteRule ^$ http://www.example.com/ez/index.html [R]
---------------------------------------------------------------
2.アップロード後「.htaccess」に名前を変更。「604」に変更。

.htaccess はTOPindex.html のみでi.ez.s各フォルダ内のindex.htmlにはおかなくても良いのですね?(あるサイトで見たものですから)

http://www.xxxxxxx.com/ と言う自サイトのホームページのアドレス(URL)を統一してアクセスしてきた端末に応じて指定したページに振分けるようにする方法を以上の方法でやりましたが、何か不具合な点や設定が間違っている点を教えていただきませんでしょうか?
説明不足でわかりにくいかもしれませんがご助力よろしくお願いします。

投稿日時 - 2009-08-14 16:18:40

QNo.5206919

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

段階的に原因を切り分けましょう。

まずは.htaccessを削除してアクセスできるかどうか
その次は一番上の記述だけテスト

みたいな感じでね。

投稿日時 - 2009-08-19 00:23:16

お礼

JavaJavax2様 ありがとうございます。
お礼遅くなりまして申しわけありません。
やはりわからないのです。
どうやってもうまくいきませんでした。
残念ですが、何が原因なのかわかりません。
締め切らせていただきます。
回答いただきましたお2人の方へお礼申し上げます。

投稿日時 - 2009-08-29 12:02:06

http://www.shtml.jp/htaccess/directoryindex.html
実行しましたか?

投稿日時 - 2009-08-14 22:59:13

補足

回答いただきましてありがとうございます。
私なりに熟続させていただきました。
解釈が間違っているかもしれませんが。

質問させていただきたいのですが、

1、DirectoryIndex index.html index.cgi index.php index.shtml

はTOPページ内には.htaccessがあるのですがそこに記述するのですか?
DirectoryIndex index.php だけ記述していますが、それでは駄目だったのですね?
他に記述する事はありますか?

2、各携帯フォルダ(3つ)にある.htaccessがあります。
そこにも DirectoryIndex index.html index.cgi index.php index.shtml
と記述すると言う事でしょうか?
.htaccessはTOPページだけに設置して各携帯フォルダに設置する必要は無いのでしょうか?
必要であるとすればその場合どう記述すれば良いのかが、わからないのです。
現在、DirectoryIndex index.htmlと記述しておりますが。

3、”携帯端末ではJavascriptは使えませんので、端末(ユーザーエージェント)の判別はCGI(perl)やPHPなどの
サーバサイドで動くプログラムで判別する必要があります。しかし、これだと、
http://www.example.com/index.cgi
or http://www.example.com/index.php
がトップページとなります。”

とおっしゃっておられますが、(まず、先に/index.htmlではなく/index.phpにしておくこと?)
http://www.example.com/index.php の件ですが、携帯のURLが/index.htmlではなく/index.phpにするのでしょうか?
どこをどうする事で携帯のURを/index.htmlではなく/index.phpにする事が出来るのでしょうか?
TOPページにPHPファイルがあります。

以上
すみません。正直、理解出来ず、わかるように努力してはいますが、頭が付いていけないようです。
出来ましたら詳細にお教えいただけましたら助かります。
申しわけありません。
よろしくお願いいたします。

投稿日時 - 2009-08-15 10:04:23

あなたにオススメの質問