WordPress: httpsパラメータ付URL(クエリ文字列)をリダイレクトする方法

 

このやり方ではうまくいきません。

 

なぜなら、RewriteRuleはクエリ文字列(URLパラメタ)を含んでいないからです。
手元にあった「Apacheクックブック第2版」で調べてみるとこのような記述があります。

mod_rewriteのマッチングと書き換え処理では、クエリ文字列(URLパラメタ)をURIの一部として見なさないため、別々に扱う必要がある。

%{QUERY_STRING}を参照する必要がある。

RewriteRuleではクエリ文字列(URLパラメタ)無しのURIしか見ない。

Apacheクックブック第2版 p94より抜粋
つまりは、「RewriteRule」で書き換えられる側のURIには「クエリ文字列(URLパラメタ)が含まれない」ため、上記の方法では正規表現がマッチせずにそのまま「/foo/index.html」を表示してしまっていたようです。

※「RedirectMatch」についての記述はありませんでしたが、WEBで調べてみると同様の問題のようでした。

 

これでうまくいきました。

.htaccess

 

参考サイト:

https://teratail.com/questions/135701

 

http://d.hatena.ne.jp/mrgoofy33/20101021/1287672461

 

category cloud