2012-07-17 32 views
35

Tôi có một thẻ CƠ SỞ như sau trong phần head of the page:tại sao thẻ cơ sở không hoạt động cho đường dẫn tương đối?

<base href="http://localhost/framework"> 

Và một kịch bản như sau đó là tương đối (tất nhiên sau khi tag cơ sở):

<script src="/assets/jquery-1.7.1.min.js"> 

Nhưng khi tôi mở jQuery từ firebug nó cho thấy:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<html><head> 
<title>404 Not Found</title> 
</head><body> 
Blah Blah Blah.... 

Khi tôi sử dụng liên kết bên dưới nó là OK mặc dù:

<script src="http://localhost/framework/assets/jquery-1.7.1.min.js"> 

Tôi đã tìm câu trả lời ở khắp mọi nơi, nhưng có vẻ như tôi đang làm đúng công việc của mình! Vì vậy, vấn đề là gì?

Trả lời

70

/assets/jquery-1.7.1.min.js không phải là tương đối nhưng tuyệt đối *, / mang nó đến thư mục gốc ngay cả với thẻ base.

Nếu bạn xóa số /, nó sẽ làm cho nó tương đối so với đường dẫn hiện tại, trong đó, khi một thẻ base hiển thị là http://localhost/framework/.

Bạn cũng sẽ cần phải thêm một đường nhỏ / vào cuối href, để cho biết rằng đó là một thư mục.

Full dụ làm việc:

<!doctype html> 
<html> 
<head> 
<base href="/test/" /> 
<script src="assets/test.js"></script> 
<body> 
hi 
</body> 
</html> 

* Trên thực tế phụ thuộc vào người bạn hỏi, nó vẫn còn tương đối vì nó là tương đối ra khỏi miền hiện hành. Nhưng tôi thích gọi điều này tuyệt đối vì nó biểu thị đường dẫn là từ gốc, dựa trên tên miền hiện tại. Mặc dù, tôi đoán về mặt kỹ thuật làm cho nó tương đối trong kế hoạch lớn của sự vật, và tuyệt đối chỉ về mặt hiện tại. Bất cứ điều gì.

+0

Tôi đã thay đổi nó để: tài sản/jquery-1.7.1.min.js nhưng không thành công . Tôi đã có 404 không tìm thấy như tôi đã nói. – ALH

+0

@phpGeek Tìm kiếm trong Firebug (hoặc F12 hoặc bất kỳ thứ gì khác), URL nào đang cố gắng yêu cầu ngay bây giờ? –

+0

Xem phần 'EDIT' của câu hỏi của tôi. – ALH

9

Cố gắng có tag cơ sở của bạn như:

<base href="http://localhost/framework/"> 

và thẻ script của bạn như:

<script src="assets/jquery-1.7.1.min.js"> 
Các vấn đề liên quan