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というものを使うらしいということが分かったのですが、書き方が全く分かりません。
そこで、この場合の正しいコードを教えて下さい。
よろしくお願いします。
.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は慣れれば便利ですが慣れないと難しいかと思います(^^;
が、今回のようなリダイレクトならこの例を真似て複数記述するだけで使い物になるんじゃないかと思います。