.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にどのように記載したらいいでしょうか?
RewriteRule ^/?i/(.+)$ http://www.example.jp/mobile/$1 [R=301,L]
前出の回答と同じだが、これを「既存の設定より前に」記述する。
ルートの.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]
的確な御回答ありがとうございます。
すみません。
もう少し教えて下さい。
.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
階層はどこでもよいので(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へリダイレクトされます。
的確な御回答ありがとうございます。
すみません。
もう少し教えて下さい。
.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
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
もう少し教えて下さい。
.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