2009-06-25 9 views
2

申し訳ありませんが、これは愚かな質問です...相対リンクで./を使用すると、Windowsサーバーで動作しますか?

私は、サイトルート(それがホストされているサイトのいずれか)にURLを付けることによって絶対リンクを作成するアプリケーションを開発しました。例えば

:スラッシュは、サイトのルートの後に来ていることを

<link rel="stylesheet" href="<?=SITE_ROOT?>/assets/css/global.css"> 

注意してください。これを相対リンクに変換する必要があるので、SITE_ROOTの値としてドットを使用しようとしました。

これは、この作成されます。

<link rel="stylesheet" href="./assets/css/global.css"> 

は、私の知る限り、それは正常に動作します。これは正当な相対的リンクですか?それともこのようにしてはならない理由はありますか?

注:私はディレクトリを上ろうとしていません。そうでなければ、私は同じディレクトリにとどまるようにしようとしています。 SITE_ROOTの後にスラッシュがあるので、空白のままにすることはできません。または、ルートの相対リンクになります。

更新:これはIISで動作しますか?

+0

./ or ../ ??? – rahul

+1

ではありません。/ただ1つのドット – Andrew

答えて

4

これらのリンクはサーバー上ではなくクライアント上で動作し、私の知る限り<a>リンクと同じように動作するはずです。 ./assets/css/global.cssは、assets/css/global.cssと同じです。これは、現在のサブサイトのフォルダアセットを意味します。 ./部分は冗長です。 サーバーとの相対的なリンクをスラッシュで開始する必要がある場合、サブサイトにいる場合でも、/assets/css/global.cssstackoverflow.com/assets/css/global.cssになります。

0

その合法的です。

これがIISサーバーで動作するかどうかを確認してください。 IMOそれはすべきです。それはApacheと同じです。

jrh

+0

iisを立ち上げてくれてありがとう。私はそれも確かめる必要があることを忘れてしまった。 – Andrew

+0

うわー。私は理由なしでdownvotesを愛する。 – jrharshath

+0

私はそうではありませんでしたが、リンクに関する質問はサーバーに関係なく純粋にHTMLの質問である可能性があります。何かあれば、それはクロスブラウザではなくクロスサーバでチェックする必要があります。 – Kobi

2

いいですね。

+0

10/10 answer upvote again –

1

私はそれがクライアント側だと思うので、ASP.Netで動作するはずです。

関連する問題