2

これがばかげた質問ならごめんなさい...

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

例えば:

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

サイトルートの後にスラッシュが付いていることに注意してください。これを相対リンクに変換する必要があるので、SITE_ROOTの値としてドットを使用してみました。

これにより、次のようになります。

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

私の知る限り、それはうまく機能します。これは正当な相対リンクですか?それとも、私がこのようにすべきではない理由がありますか?

注:私はディレクトリを上に移動しようとはしていません。そうでない場合は、../を使用します。単に同じディレクトリに留まろうとしています。SITE_ROOTの後にスラッシュがあるので、空白のままにすることはできません。そうしないと、ルート相対リンクになります。

更新:これはIISで機能しますか?

4

4 に答える 4

4

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

于 2009-06-25T06:58:22.993 に答える
2

大丈夫だと思います。

于 2009-06-25T06:40:10.817 に答える
1

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

于 2009-11-05T17:15:50.357 に答える
0

その正当な。

これがIISサーバーで機能するかどうかを確認してください。IMOする必要があります。それはApacheで行います。

jrh

于 2009-06-25T06:39:39.990 に答える