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