質問: ### 前提・実現したいこと ブログの引っ越しに伴いリダイレクトが必要になりました。 Googleにインデックス済の古いURLに来たら、.htaccessで正規表現を使って新しいURLにリダイレクトしたいです。 具体例としては下記のような形です。 古いURL:http://hoge.com/blog/2018/09/age/ 新しいURL:http://hoge.com/age/ ``` /blog/{year}/{month}/{title} ``` つまり、 /blog/{year}/{month}の箇所をごっそりカットして{title}のパラメータだけを維持して、ドメイン直下にリダイレクトしたいという状況です。 また、 http://hoge.com/blog/ に来た場合は http://hoge.com/ にリダイレクトしたいです。 ### 発生している問題・エラーメッセージ 今回のことを実現するにあたり、正規表現で出来るらしいということが判明し、/blog/配下のディレクトリを一律でドメイン直下にリダイレクトする所までは出来ました。 今回のことを実現するために正規表現をどのように学習すればよいかが分かりません。 ### 該当のソースコード ``` RedirectMatch \/blog\/(.*) http://hoge.com/ ``` ### 試したこと 正規表現一覧 http://gimite.net/help/devas-ja/all_regex.html を読んでみましたが、活かすことが出来ません。 お力添えいただければ幸いです。
回答: ``` RedirectMatch permanent /blog/[^/]*/[^/]*/(.*) http://hoge.com/$1 か RedirectMatch permanent /blog/.*?/.*?/(.*) http://hoge.com/$1 ``` ですね。 ``と``は、無関係かつ無意味なので削除しましょう。