人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PC用のウェブサイト(http://www.***.jp/)と、モバイルサイト(http://www.***.jp/i/)を運営しております。

.htaccessには、下記の様に設定して、(http://www.***.jp/)へ来た携帯端末ユーザーからのアクセスを(http://www.***.jp/i/)へ振り分けておりました。
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP?.Browser|J-PHONE|Vodafone|SoftBank)
RewriteRule ^$ /mobile/ [R]

PC用ウェブサイト各ページのタグ<head>内には、下記のようにして検索エンジンのクローラーにモバイルサイトを認識させるように設定してます。
<link rel="alternate" media="handheld" href="http://www.***.jp/i/***.html" />

今回、モバイルサイトのURLを(http://www.***.jp/mobile/)へ変更しました。

検索エンジンは下記のアドレスを検索結果に反映してます。
http://www.***.jp/i/***.html
旧アドレスを反映している数が非常に多くて困っています。

そこで、
.htaccess等で、(http://www.***.jp/i/***.html)へ来たアクセスに対して(http://www.***.jp/mobile/***.html)へ転送するようにするには、
どのフォルダの.htaccessにどのように記載したらいいでしょうか?

●質問者: matun55
●カテゴリ:ウェブ制作
✍キーワード:.htaccess .jp DoCoMo HTML J-PHONE
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● rouge_2008
●30ポイント

ルートの.htaccessに以下のように記述します。

Redirect permanent /i/ http://www.example.jp/mobile/

http://www.double-cradle.jp/archive_of_2008/122200147.html


mod_rewriteを使用する場合は、以下のように記述してみてください。

RewriteEngine on
RewriteRule ^/?i/(.+\.html?)$ http://www.example.jp/mobile/$1 [R=301,L]

http://pillcase.com/seo/2009/11/301-move-permanently.html

◎質問者からの返答

的確な御回答ありがとうございます。

すみません。

もう少し教えて下さい。

.htaccess内では他にも設定しているようで、

動的ページURLを、静的ページURLとして表示する設定がしてあります。

下記のような設定です。

RewriteRule ^(.*)_(.*)/(.*)_(.*)/(.*)_(.*)_(.*)/hoge.html hoge.php?$1=$2&$3=$4&$5=$6&page=$7 [L]

そのせいか、下記でURLを指定した場合、

http://www.***.jp/i/○○_/△△_0/□□_0_2/hoge.html

このように表示されてしまいます。

http://www.***.jp/mobile/○○_/△△_0/□□_0_2/hoge.html?i/○○=&△△=0&□□=0&page=2

下記のように表示したい場合は、どのようにしたら宜しいでしょうか。

http://www.***.jp/mobile/○○_/△△_0/□□_0_2/hoge.html


2 ● Chakuwiki
●30ポイント

階層はどこでもよいので(PCサイトのindex.htmlと同じ階層だと確実).htaccessに次の一文を記述します。

Redirect permanent /i/ http://www.***.jp/mobile/

このようにすれば、http://www.***.jp/i/以下にあるファイルへのアクセスがあった場合には、リダイレクトされます。例えば、 http://www.***.jp/i/basic.htmlへのアクセスは、http://www.***.jp/mobile/basic.htmlへリダイレクトされます。

(引用・参考:http://www.shtml.jp/htaccess/redirect.html)

◎質問者からの返答

的確な御回答ありがとうございます。

すみません。

もう少し教えて下さい。

.htaccess内では他にも設定しているようで、

動的ページURLを、静的ページURLとして表示する設定がしてあります。

下記のような設定です。

RewriteRule ^(.*)_(.*)/(.*)_(.*)/(.*)_(.*)_(.*)/hoge.html hoge.php?$1=$2&$3=$4&$5=$6&page=$7 [L]

そのせいか、下記でURLを指定した場合、

http://www.***.jp/i/○○_/△△_0/□□_0_2/hoge.html

このように表示されてしまいます。

http://www.***.jp/mobile/○○_/△△_0/□□_0_2/hoge.html?i/○○=&△△=0&□□=0&page=2

下記のように表示したい場合は、どのようにしたら宜しいでしょうか。

http://www.***.jp/mobile/○○_/△△_0/□□_0_2/hoge.html


3 ● b-wind
●40ポイント ベストアンサー
RewriteRule ^/?i/(.+)$ http://www.example.jp/mobile/$1 [R=301,L]

前出の回答と同じだが、これを「既存の設定より前に」記述する。

◎質問者からの返答

もう少し教えて下さい。

.htaccess内では他にも設定しているようで、

動的ページURLを、静的ページURLとして表示する設定がしてあります。

下記のような設定です。

RewriteRule ^(.*)_(.*)/(.*)_(.*)/(.*)_(.*)_(.*)/hoge.html hoge.php?$1=$2&$3=$4&$5=$6&page=$7 [L]

そのせいか、下記でURLを指定した場合、

http://www.***.jp/i/○○_/△△_0/□□_0_2/hoge.html

このように表示されてしまいます。

http://www.***.jp/mobile/○○_/△△_0/□□_0_2/hoge.html?i/○○=&△△=0&□□=0&page=2

下記のように表示したい場合は、どのようにしたら宜しいでしょうか。

http://www.***.jp/mobile/○○_/△△_0/□□_0_2/hoge.html

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ