web-dev-qa-db-ja.com

ルートに関連するリンクがありますか?

ページ上のすべてのリンクをルートディレクトリからの相対パスにする方法はありますか?

たとえば、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番目を指すようにする方法はありますか?

145
Click Upvote

ルート相対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 から引用。

おすすめの読み物:

261
David Thomas

つかいます

<a href="/fruits/index.html">Back to Fruits List</a>

または

<a href="../index.html">Back to Fruits List</a>
18
amit_g

<a href="/">some link<a/>を入れるだけで、Webサイトのルートにたどり着きます。

4
Marcello
<a href="/fruits/index.html">Back to Fruits List</a>
3
moe

ASP.NETアプリケーションサーバー側からURLを作成し、Webサイトを仮想ディレクトリに展開する場合(例:app2)あなたのウェブサイト、すなわち http://www.yourwebsite.com/app2/

それからちょうど挿入する

<base href="~/" />

タイトルタグの直後.

だから、あなたがrootの親戚を使うときはいつでも.

<a href="/Accounts/Login"/> 

http://www.yourwebsite.com/app2/Accounts/Login 」に解決されます。

こうすればあなたはいつもあなたのファイルを比較的絶対に指すことができます;)

私にはこれが最も柔軟な解決策です。

3
A-Majeed

それが私のために働くので、サーバー上でrootとしてこのコード "./"を使用してください

<a href="./fruits/index.html">Back to Fruits List</a>

しかし、あなたがローカルマシン上にいるときは、次のコード "../"をルートの相対パスとして使います。

<a href="../fruits/index.html">Back to Fruits List</a>
0
king zecole

以下のようにルートのimages/ディレクトリを見つける画像タグへのURLを与えるには

`logo.png`

以下のように/で始まるsrcのURLを指定する必要があります。

<img src="/images/logo.png"/>

このコードは、たとえあなたがbranches/europe/about.phpであっても問題なくあらゆるディレクトリで動作しますまだロゴはそこに見ることができます。

0