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

htaccessのリダイレクトに関する質問です。
レンタルサーバー:Xサーバー
Apache Ver:2.2.3

htaccessで/mobi/以下全てのURLをhttp://www.hoge.com/の単一ページへリダイレクトさせるにはどのように書けばいいですか?


http://www.hoge.com/mobi/index.cgi?mode=i&eid=19
http://www.hoge.com/mobi/aaa/xxx.php
http://www.hoge.com/mobi/yyy.php
・・・
など/mobi/以下は様々なディレクトリとファイルが存在します。
http://www.hoge.com/mobi/・・・と/mobi/とつくすべてのURLを、http://www.hoge.com/の単一ページに転送したいのです。

ガラケー用URLの構造をゴッソリかえたので、今までのガラケーリンクをトップドメインにリダイレクトさせようと考えています。
よろしくお願いしますm(_ _)m

●質問者: Bar BILBAO
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど
●60ポイント ベストアンサー

一例

RewriteEngine On
RewriteRule ^/mobi/* http://www.example.com/ [R,L]

hoge.comは実在するのでexample.comに変えてます。


ゴッソリかえたことをお知らせするページを用意しておいて、
初回のみお知らせページに移動させるほうが親切で、管理も楽だと思うので、
こちらも例を書いておきます。

RewriteEngine On
RewriteRule ^/mobi/* http://www.example.com/お知らせページ.html [R,L]

Bar BILBAOさんのコメント
ご回答ありがとうございます。 残念ながら希望通りに動きません。 http://www.hoge.com/mobi/index.cgi?mode=i&eid=19 にアクセスしたら http://www.hoge.com/mobi/index.cgi?mode=i&eid=19 のままで404エラーが返ってきます。 .htaccessに Redirect permanent も記載しているのですが、それが不味いということはないですよね? 回答を頼りに、今いろいろ試している最中です。

うぃんどさんのコメント
修正です。 >|| RewriteEngine On RewriteRule ^mobi/.* http://www.example.com/ [R,L] ||<

Bar BILBAOさんのコメント
たびたびご回答ありがとうございますm(_ _)m 一歩前進しました(^_^) http://www.hoge.com/mobi/aaa/xxx.php http://www.hoge.com/mobi/yyy.php に関しては無事転送されます。 http://www.hoge.com/mobi/index.cgi?mode=i&eid=19 に関しては http://www.hoge.com/?mode=i&eid=19 に転送されトップページは表示されますがパラメーターは残っています。 どうも正規表現は苦手です(^_^;)

うぃんどさんのコメント
パラメータ削除のための再修正。 >|| RewriteEngine On RewriteRule ^mobi/.* http://www.example.com/? [R,L] ||< 寝ぼけてて何度も手間かけました。すみません。

Bar BILBAOさんのコメント
ご回答を何度もいただいてありがとうございます。 回答を手掛かりに調べますが、なかなか希望通りの動作とはならないようです。 経過報告でした。 もう少し頑張ってみます。

Bar BILBAOさんのコメント
あれ?今試したらパラメーターが削除されていました。 IEのキャッシュが邪魔していたのでしょうか? 原因は分かりませんが、無事動作し何よりです(^_^) ありがとうございました。

2 ● taroe
●40ポイント

■方法1

Redirect permanent /mobi/ http://www.hoge.com/


この1行で可能です。
参考:
http://www.shtml.jp/htaccess/redirect.html

■方法2
もし RewriteRuleを使う場合は
RewriteEngine On
RewriteRule ^/mobi/* http://www.example.com/ [R=301,L] 


[R=permanent,L]か[R=301,L]を指定したほうが良いでしょう。

参考:
http://www.suzukikenichi.com/blog/301%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%81%AE%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95/


Bar BILBAOさんのコメント
ご回答ありがとうございます。 Redirect permanent /mobi/ http://www.hoge.com/ この方法は質問の前に試しました。 http://www.hoge.com/mobi/index.cgi?mode=i=19 の場合は、http://www.hoge.com/index.cgi?mode=i=19 http://www.hoge.com/mobi/aaa/xxx.php の場合は、http://www.hoge.com/aaa/xxx.php と/mobiを抜いたURL転送されいずれも404エラーが返ってきます。 で再度試しましたが同じ結果です。 RewriteEngine On RewriteRule ^/mobi/* http://www.example.com/ [R=301,L] に関しては、windofjulyさんもお答えいただいたのですが、なぜか?希望通りに転送されません??? 今、何か記述に間違いがあるのか?調べている最中でした。 Redirect permanent と併記するのが不味いわけではないでしょうに??

taroeさんのコメント
Redirect permanent では、 >http://www.hoge.com/mobi/aaa/xxx.php >の場合は、http://www.hoge.com/aaa/xxx.php サブディレクトリまでは適用されないようです。 ファイルだけだと思っていたので、ごめんなさい --- permanent か 301 指定するのは 移動が引っ越しだと、Google検索エンジンに知らせるためです。

関連質問

●質問をもっと探す●



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