EC-CUBE4でリダイレクトで詰んだ話【.htaccessの階層あっていますか?】

  • LINEで送る

お久しぶりの投稿です。

先日仕事でリダイレクトを数ページにわたってしたんですが。。。
一言で表すと 詰みました笑

というのも、リダイレクトをしたことがなかったからです。

しかもWPならプラグインでちょちょーーいとできるかもしれないんですが、

今回は初心者なのにEC-CUBEでの実装でした。。。

通常のURL
例えば https://example.comというURLは難なくクリアできたんですが、

問題だったのはクエリパラメータがつくURL
例えば https://example.com?a=b123みたいなやつです。

結論からいうと.htaccessを記述するディレクトリの階層が間違っていたということでした。

.htaccessってcssのように下に書けば上書きされるわけではなくて
一番上に書いたものが一番新しい記述になるそうで、

で、ディレクトリも一番上にある階層のものが効力を発揮すると教えてもらってたので

WPのディレクトリがある階層のhtaccessへずっと記述を続けていたんですが、

これが何故かダメでした。。。
※通常のURLのリダイレクトはここで成功!

クエリパラメーターのURLは一つしたの階層へ書く

クエリパラメーターのURLは
/shop/src/と同じ階層にある.htaccessへ記述します。

そして、書き方も

例として
https://example.com/shop/product/abcd?a=b123
▶︎https://example.com/cccへリダイレクトかけるとします。

①RewriteEngine On
②RewriteCond %{QUERY_STRING} a=b123$
③RewriteRule /product/abcd /ccc? [L,R=301]

ーー解説ーー
②… %{QUERY_STRING}の後に?以降のURLを記述します。
③…/product/abcdはリダイレクト元の?の前のURLです。
   ※/shopを入れたらダメでした。

   /ccc?はリダイレクトを飛ばす新しいURL
ーーーーー
これで成功しましたーーー!!

参考にした神記事があったんですが、
履歴から探しても見つからず。。。残念。

まさにドンピシャな記事だったんですけどね。。。

久しぶりにすみからすみまで検索しまくりました。

参考になったチェックツール等をおまけで載せておきます!!

色々できないときって難しいところへ進んで行きがちですが

意外と時間置いて見直してみると近場にヒントが隠れていますよね笑

あと、調べてみて思ったのは色々なリダイレクトの書き方があるということ。

なので状況に合わせて書き方も変わると思いますし、
この書き方が全部正解ではないと思うので

詰んでるし、試しにこの方法試してみるか程度で
参考にしてもらえると嬉しいです!

あと、バックアップは忘れずにとりましょう!

  • LINEで送る

SNSでもご購読できます。

コメントを残す

*