ページ上のすべてのリンクをルートディレクトリからの相対パスにする方法はありますか?
たとえば、www.example.com/fruits/apples/Apple.html
では、次のようなリンクがあります。
<a href="fruits/index.html">Back to Fruits List</a>
このリンクはwww.example.com/fruits/apples/fruits/index.html
またはwww.example.com/fruits/index.html
を指していますか?最初の場合は、代わりに2番目を指すようにする方法はありますか?
ルート相対URLは/
のように見えるように、<a href="/directoryInRoot/fileName.html">link text</a>
文字で始まります。
あなたが投稿したリンク:<a href="fruits/index.html">Back to Fruits List</a>
は、fruits
という名前のディレクトリにあるhtmlファイルにリンクしています。このディレクトリは、このリンクが表示されているhtmlページと同じディレクトリにあります。
これをルート相対URLにするには、次のように変更します。
<a href="/fruits/index.html">Back to Fruits List</a>
質問に対する回答として、をOPから編集。
そうすることで、www.example.comを基準にした相対的なルートになります。たとえば、ルートをwww.example.com/fruits/のwww.example.com/fruits/にしたい場合はどうするかを指定します。りんご/ Apple.html?
はい、href
またはsrc
属性のURLの前に/
を付けると、ルートディレクトリからの相対パスになります。たとえば、www.example.com/fruits/apples.html
のhtmlページが与えられた場合、href="/vegetables/carrots.html"
のa
はページwww.example.com/vegetables/carrots.html
にリンクします。
base
tag 要素を使用すると、そのページのベースURIを指定できます(ただし、base
タグは、使用に必要なeveryページに追加する必要があります)。具体的な基盤は、このために私は単にW3の例を引用します。
たとえば、次のようなBASE宣言とA宣言があるとします。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Our Products</TITLE>
<BASE href="http://www.aviary.com/products/intro.html">
</HEAD>
<BODY>
<P>Have you seen our <A href="../cages/birds.gif">Bird Cages</A>?
</BODY>
</HTML>
相対URI "../cages/birds.gif"は以下のように解決されます。
http://www.aviary.com/cages/birds.gif
例:http://www.w3.org/TR/html401/struct/links.html#h-12.4 から引用。
おすすめの読み物:
つかいます
<a href="/fruits/index.html">Back to Fruits List</a>
または
<a href="../index.html">Back to Fruits List</a>
<a href="/">some link<a/>
を入れるだけで、Webサイトのルートにたどり着きます。
<a href="/fruits/index.html">Back to Fruits List</a>
ASP.NETアプリケーションのサーバー側からURLを作成し、Webサイトを仮想ディレクトリに展開する場合(例:app2)あなたのウェブサイト、すなわち http://www.yourwebsite.com/app2/
それからちょうど挿入する
<base href="~/" />
タイトルタグの直後.
だから、あなたがrootの親戚を使うときはいつでも.
<a href="/Accounts/Login"/>
「 http://www.yourwebsite.com/app2/Accounts/Login 」に解決されます。
こうすればあなたはいつもあなたのファイルを比較的絶対に指すことができます;)
私にはこれが最も柔軟な解決策です。
それが私のために働くので、サーバー上でrootとしてこのコード "./"を使用してください
<a href="./fruits/index.html">Back to Fruits List</a>
しかし、あなたがローカルマシン上にいるときは、次のコード "../"をルートの相対パスとして使います。
<a href="../fruits/index.html">Back to Fruits List</a>
以下のようにルートのimages/
ディレクトリを見つける画像タグへのURLを与えるには
`logo.png`
以下のように/
で始まるsrc
のURLを指定する必要があります。
<img src="/images/logo.png"/>
このコードは、たとえあなたがbranches/europe/about.php
であっても問題なくあらゆるディレクトリで動作しますまだロゴはそこに見ることができます。