お問い合わせはコチラから

.htaccess リダイレクト ディレクトリの移動の書き方

サイト運営

先日、HTMLサイトのディレクトリの移動でリダイレクトをする機会がありました。その時にちょっとハマったのでメモとして残しておきます。

この記事を読むことで、一部のファイルだけサブディレクトリに移動した場合の.htaccessによるリダイレクトの方法がわかります。

やりたい変更内容

やりたかった内容は次の2点です。

  • ルートディレクトリ(/)のファイルをサブディレクトリ(/sub)に移動
  • ただし、ルートディレクトリのサブディレクトリ(/css、/js、/images、etc)は移動しない

解決したい課題

ルートディレクトリからサブディレクトリ(/sub)に移動したファイル内でjs/やcss/を相対パスで参照している箇所があり、404エラーとなる。

移動していないディレクトリへのアクセスがあったときには、.htaccessでリダイレクトしたい。

ディレクトリ移動した場合のhtaccessの書き方

ディレクトリ移動した場合のhtaccessの記載方法です。

ファイル内でjsディレクトリが相対参照になっている場合に、移動先でオリジナルのjsディレクトリ(ルートディレクトリにある)にアクセスできるようにするリダイレクト設定です。

設置場所は、ルートディレクトリになります。

RewriteEngine On
RewriteRule ^sub/js/?(.*)$ /js/$1 [R=301,L]

htaccessをどこに置くか?

先ほど、設置場所はルートディレクトリといいました。

では、移動先(/sub)に置く場合はどうしたらよいでしょうか?

/subを削除すればよいです。

変更前:RewriteRule ^sub/js/?(.*)$ /js/$1 [R=301,L]

変更後:RewriteRule ^js/?(.*)$ /js/$1 [R=301,L]

RewriteEngine On
RewriteRule ^js/?(.*)$ /js/$1 [R=301,L]

.htaccessを置いた場所の直下のjsへアクセスがあったときを判定する必要があるので、subは不要です。

リダイレクト先は絶対パスなので変更ありません。

.htaccessはどこに置いた方が良い?

ルートディレクトリに.htaccessがあるとそのファイルを編集したくなりますが、何かの拍子に書き換えられることもあります。例えばWordpressは.htaccessファイルを操作します。

変更に関わる場所に置いて他から見えないようにする方が管理も楽だと思います。

今回のケースで言えば、ルートディレクトリではなくsubディレクトリに.htaccessを作成するということです。

まとめ

この記事ではディレクトリ移動した場合の.htacsessのリダイレクトの書き方と設置場所についてまとめました。そもそも、ルートディレクトリにファイルが転がっている方が悪いのですが、そこに文句を言えない状況もありますので、必要に迫られてやるしかない状況では役に立つかもしれません。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました