0

ぎこちないタイトルですみません: 私は単純な Web サーバーを構築しています (聞かないでください...) が、次の問題があります:

ブラウザのリクエストmydomain.com/MyFolder

私のサーバーはこれがフォルダーであることを検出したため、代わりに配信しますmydomain.com/MyFolder/index.html

index.html に へのリンクがあることを除いて、これまでのところすべて問題ありませんが、ブラウザはそれをではなくmycss.cssトップレベル ファイルとして要求します。mydomain.com/mycss.cssmydomain.com/myFolder/mycss.css

別のページが提供されたことを示すために設定が必要な HTTP ヘッダーはありますか? を返そうとしましContent-Location: /myFolder/index.htmlたが、目に見える成功はありません。

index.html基本的にこれが含まれています:

<link rel="stylesheet" href="mycss.css" />
4

4 に答える 4

-1

または、次のようなものを .htaccess ファイルに追加してみてください。

RewriteEngine On
RewriteBase /

RewriteRule   ^(.+)$ myFolder/$1
于 2013-09-09T15:41:12.563 に答える
-1

わかりました、実際に与えられた情報は正しくなかったので、答えを修正しています。Web サーバーを実装する場合は、標準仕様に従う必要があります。定義<link rel="stylesheet" href="mycss.css" />は、( ) で定義されているファイルと同じ場所から CSS ファイルを取得する必要がありますindex.html。相対パスを使用する場合、特定の場所からリクエストするのはブラウザーではなく、Web サーバーがリソースを提供する場所を決定する必要があります。

標準ドキュメントのセクション 2.4.6 および 3 を確認してください: http://www.ietf.org/rfc/rfc1808.txt

つまり、リソースのパスがスラッシュ (/) で始まらない場合、そのパスは相対パスと見なされ、ベース URL に対して相対的に配置する必要があります。

于 2013-09-09T15:51:31.743 に答える
-1

これを変更してみてください:

<link rel="stylesheet" href="mycss.css" />

これに:

<link rel="stylesheet" href="/myFolder/mycss.css" />

?

于 2013-09-09T15:36:32.947 に答える