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にどのように記載したらいいでしょうか?

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2010/05/16 14:57:33
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:b-wind No.3

回答回数3344ベストアンサー獲得回数440

ポイント40pt
RewriteRule ^/?i/(.+)$ http://www.example.jp/mobile/$1 [R=301,L]

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

id:matun55

もう少し教えて下さい。

.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

2010/05/16 14:38:55

その他の回答2件)

id:rouge_2008 No.1

回答回数595ベストアンサー獲得回数351

ポイント30pt

ルートの.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

id:matun55

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

すみません。

もう少し教えて下さい。

.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

2010/05/16 13:51:11
id:Chakuwiki No.2

回答回数114ベストアンサー獲得回数5

ポイント30pt

階層はどこでもよいので(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)

id:matun55

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

すみません。

もう少し教えて下さい。

.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

2010/05/16 13:51:17
id:b-wind No.3

回答回数3344ベストアンサー獲得回数440ここでベストアンサー

ポイント40pt
RewriteRule ^/?i/(.+)$ http://www.example.jp/mobile/$1 [R=301,L]

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

id:matun55

もう少し教えて下さい。

.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

2010/05/16 14:38:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません