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

クエリー文字列が含まれるURLを.htaccessでリダイレクトしたい

http://sample.com/?p=123 を http://sample.com/new.html へ転送したい

転送元と転送先は同じドメインです。
wordpressでの運用をやめて、手動でurlをつけるサイトにしようと考えています。
転送元の?p=以下の数字と、転送先のファイル名に規則性はありません。

Redirect permanent /?p=123 http://sample.com/new.html
Redirect permanent /?p=666 http://sample.com/shin.html
Redirect permanent /?p=007 http://sample.com/sara.html

コードをこのように書いても、クエリー文字列が含まれているためリダイレクトできませんでした。

いろいろ調べたところmod_rewriteというものを使うらしいということが分かったのですが、書き方が全く分かりません。

そこで、この場合の正しいコードを教えて下さい。
よろしくお願いします。

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

▽最新の回答へ

1 ● y-kawaz
●953ポイント ベストアンサー

.htaccessかhttpd.confに以下のように設定してやれば良いです。

RewriteEngine on

RewriteCond %{QUERY_STRING} (^|&)p=123(&|$)
RewriteRule ^/?$ /new.html? [L,R=301]

RewriteCond %{QUERY_STRING} (^|&)p=666(&|$)
RewriteRule ^/?$ /shin.html? [L,R=301]

RewriteCond %{QUERY_STRING} (^|&)p=007(&|$)
RewriteRule ^/?$ /sara.html? [L,R=301]

ざっと説明すると、

ざっとと言いましたが、たった2行に結構な意味が込められてますねw mod_rewriteは慣れれば便利ですが慣れないと難しいかと思います(^^;
が、今回のようなリダイレクトならこの例を真似て複数記述するだけで使い物になるんじゃないかと思います。


w58kさんのコメント
できました\(^o^)/ 丁寧な説明までありがとうございます。 感謝!感謝!です!
関連質問

●質問をもっと探す●



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