ページのヘッドセクションに以下のBASEタグがあります。
<base href="http://localhost/framework">
そして、相対的な(もちろんベースタグの後)以下のようなスクリプト:
<script src="/assets/jquery-1.7.1.min.js">
しかし、firebugからjQueryを開くと、次のように表示されます。
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
Blah Blah Blah....
下のリンクを使用する場合でも問題ありません:
<script src="http://localhost/framework/assets/jquery-1.7.1.min.js">
私はどこでも答えを探しましたが、私は自分の仕事を正しくやっているようです!それで問題は何ですか?
/assets/jquery-1.7.1.min.js
は相対ではなく絶対*です。/
は、base
タグがあってもそれをルートに取得します。
/
を削除すると、現在のパスからの相対パスになり、base
タグが存在する場合はhttp://localhost/framework/
になります。
また、href
の末尾に末尾の/
を追加して、フォルダーであることを示す必要があります。
完全な実例:
<!doctype html>
<html>
<head>
<base href="/test/" />
<script src="assets/test.js"></script>
<body>
hi
</body>
</html>
*
実際に尋ねる人に応じて、現在のドメインからの相対であるため、依然として相対です。しかし、現在のドメインに基づいて、パスがルートからのものであることを示しているため、この絶対呼び出しを好む。しかし、技術的にはそれが物事の大規模なスキームでは相対的であり、現在のドメインの観点からのみ絶対的だと思います。なんでも。
次のようなベースタグを試してください:
<base href="http://localhost/framework/">
そして、あなたのスクリプトタグのような:
<script src="assets/jquery-1.7.1.min.js">