ルートパス参照で書かれたファイルの参照先をサブディレクトリに変更する方法【.htaccess】

Webその他

下層ページが数ページある案件で、ページ階層がいくつか分かれていたので共通部分は使いまわしたいと思い、リンクや画像、ファイル参照をルートパスで記載しました。
その後テストアップロードの際に少し詰まったのでメモします。

ルートパスとは…

例1 img src=”/img/logo.png”
例2 a href=”/menu/index.html”

「ルート」は一番上のディレクトリ(フォルダ)のことです。
Webサイトの場合、ドメイン直下からの指定となり 、一番上のディレクトリから目的のファイルまでの場所を示します。
↑例のアドレスのように「 / 」から始まっていたらルートパスです。

ドメイン直下に置くならば何も問題ないのですが、今回はテストサーバー(複数案件を格納)にアップロードしたかったのです。

http://hogehoge.com/test ←このtestフォルダに格納したところ、hogehoge.com直下を参照してしまい、cssやJS、画像が全く表示されませんでした。

エビちゃん
エビちゃん

助けて!google先生!

解決策、見つかりました。
.htaccessファイルに下記コードを記載して、ドメイン直下(一番上のディレクトリ)に配置すればOKです。既に.heaccessファイルがある場合は、既存コードの下に追加してください。

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/test/
RewriteRule ^(.*) /test/$1 [R=301]

↑の「test」部分を参照したいディレクトリ名に置き換えてください。

最初リンクが反映されたりされなかったりしましたが、最終的には直りました。

エビちゃん
エビちゃん

とりあえず直ったからヨシ!

コメント

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