.htaccessでサブディレクトリ内のURLをリダイレクト

小ネタですが、
  1. サブディレクトリhoge/をルートディレクトリとするサイト(URLはhttps://example.com/hoge/のような形)
    • .htaccessの設置場所はhoge/直下
  2. .htaccessでサブディレクトリhttps://example.com/hoge/fuga下のURLを別のサブディレクトリ下のURLhttps://example.com/hoge/piyo/hogehoge.htmlへリダイレクト
  3. 404ページ設定も実施
というケースに遭遇して軽くハマったので備忘録代わりにメモしておきます。
RewriteEngine On
RewriteRule ^fuga(.*)$ /hoge/piyo/hogehoge.html [R=301,L]
ErrorDocument 404 /hoge/404.html
ハマったのはRewriteRuleのアクセス元はhttps://example.com/hoge/からの相対パスなのに対し、リダイレクト先は絶対パスでないと動かなかった、ということです。 中々サイトのルートディレクトリがサブディレクトリの場合の記述がなくて、動かずに悩んでいました。

参考

.htaccessの構文チェッカー

色々検索している中で、.htaccessの構文チェックをしてくれるページを見付けたのでメモしておきます。

この記事を書いた人

アバター

アルム=バンド

フルスタックエンジニアっぽい何か。LAMPやNodeからWP、gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。