htaccessでのクエリを含むURLの301リダイレクトの記述方法

ワードプレスのクエリ付きURLを普通のクエリ無しURLに301リダイレクトするhtaccessへの記述方法を解説します。

本記事の目次

転送したいURL

https://www.sample.com/test/blog/?p=7009

↓このURLを下記のURLに301リダイレクトで転送したい

https://www.sample.com/test/kawa/aaa.php

普通のページのリダイレクトなら何の問題もなくできるのですが、クエリ付きURLだったため、かなり手こずりました。

htaccessの記述方法

RewriteEngine on
RewriteCond %{QUERY_STRING} (^|&)p=7009(&|$)
RewriteRule ^test/blog/?$ /test/kawa/aaa.php? [L,R=301]

この記述でうまくいきます。

クエリの前にディレクトリが無いパターンはネット上でもよく書かれていますが、下層が深めだとあまり書いてないのでぜひ当てはまる方は参考にしてみてください。

私は下記ページを参考にさせていただきました。
https://q.hatena.ne.jp/1341680846

本記事の目次