HTMLのURLのsrcパスのレベルを上げるにはどうすればよいですか?


101

ウェブサイトのスタイルシートを{root} / stylesに保存し、画像を{root} / imagesに保存しています。指定した画像の画像ディレクトリを検索するためのスタイルシートのパスを指定するにはどうすればよいですか?

background-image: url('/images/bg.png');

回答:


184

..親ディレクトリを示すために使用します。

background-image: url('../images/bg.png');

私はそれを他の場所でも読みましたが、うまくいきません!(少なくともChromeで)
aateeque '26年

27
します。ただし、場所はCSSファイルの場所に相対的であり、CSSファイルを埋め込んだドキュメントではないことに注意してください。
ThiefMaster 2011年

1
@ThiefMasterインラインCSSのみを使用している場合
1000Gbps

57

相対ファイルパスについて知っておく必要があるのは、次のとおりです。

  • で始まる /ルートディレクトリに戻り、そこから開始

  • で開始すると、 ../ 1つのディレクトリが後方に移動し、そこから開始します

  • で開始すると、 ../../ 2つのディレクトリが後方に移動してそこから開始します(以下同様)。

  • 先に進むには、最初のサブディレクトリから始めてに進みます。

詳細はこちらをクリック!


52

使用../

background-image: url('../images/bg.png');

あなたはそれを好きなだけ使うことができます../../images/。例えば、../images/../images/../images/../images/もちろん同じように)異なる位置でも使えます。


9

Chromeでは、一部のHTTPサーバーからWebサイトをロードすると、絶対パス(など/images/sth.png)と、上位レベルのディレクトリ(など../images/sth.png)への相対パスの両方が機能します。

だが!

ローカルファイルシステムからHTMLドキュメントを(Chromeで)ロードすると、現在のディレクトリより上のディレクトリにアクセスできません。../something/something.sthつまり、相対パスにアクセスして絶対パスに変更することはできません。


1
再確認すると、ローカルファイルシステムの相対パスが../do work を使用することで報告できる-または、少なくともこの特定のケースでは問題なく動作する!
aateeque 2011年

1
Linuxでは動作しますが、Macでは動作しません(私の経験)
gabn88

同じ出所チェックがないため、リンクはここではカウントされません。また、この回答は6年前のものであるため、ブラウザは大幅に変更されている可能性があります。
jaboja 2017

1
私は答えを表示している他の誰かを確認しています
Ajay

0

次のファイル構造があるとします。

-css
  --index.css
-images
  --image1.png
  --image2.png
  --image3.png

CSS image1では、たとえば、次の行を使用してアクセスできます../images/image1.png

:Chromeを使用している場合は機能しない可能性があり、ファイルが見つからなかったというエラーが表示されます。同じ問題が発生したため、キャッシュ履歴全体をChromeから削除しただけで機能しました。


0

スタイルシート/画像をフォルダーに保存して、複数のWebサイトで使用できるようにしたり、同じサーバー上の別のサイトで同じファイルを再利用したりする場合、ブラウザー/ ApacheにアクセスできないことがわかりましたWebサイトのルートURLの上の親フォルダー。これはセキュリティ上の理由から明らかです。指定したWebフォルダー以外の場所をサーバー上で参照することはできません。

例えば。動作しません:www.mywebsite.com/../images

回避策として、私はシンボリックリンクを使用します:

www.mywebsite.comのディレクトリに移動しますコマンドln -s ../images imagesを実行します

これでwww.mywebsite.com/imagesはwww.mywebsite.com/../imagesをポイントします

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.