HTML cơ bản - cách đặt đường dẫn tương đối đến thư mục hiện tại?


85

Hãy nói rằng tôi hiện đang ở: http://example.com/folder/page.html

Có thể tạo một liên kết tương đối trên trang này trỏ đến http://example.com/folder/mà không chỉ định ở folderđâu không? (Và chỉ sử dụng HTML.)

CẬP NHẬT: Hóa ra nó ./chỉ hoạt động ở chế độ loại tài liệu không nghiêm ngặt, trong khi .hoạt động ở cả hai chế độ, vì vậy theo ý kiến ​​của tôi, nó vẫn là một câu trả lời tốt hơn :) Cảm ơn mọi người.


Tại sao ai đó sẽ tạo một đường dẫn tương đối đến thư mục hiện tại khi theo mặc định chỉ có tên của chính tệp trong href giả định là thư mục hiện tại?
Matthew

Câu trả lời:


94

Chỉ cần chấm là hoạt động. Loại tài liệu tạo ra sự khác biệt, tuy nhiên, đôi khi ./ cũng tốt.

<a href=".">Link to this folder</a>

37

Đối với bất kỳ ai đã tìm thấy chủ đề này, việc giải quyết các đường dẫn tương đối luôn tạo ra các tranh luận về điều gì là chính xác hay không.

Tùy thuộc vào nơi bạn sử dụng đường dẫn được giải quyết, nó sẽ phụ thuộc vào cách bạn giải quyết đường dẫn.

Nói chung là :

../làm điều tương tự, tuy nhiên bạn sẽ không sử dụng .với tên tệp. Nếu không, bạn sẽ có trình duyệt yêu cầu .filename.extdưới dạng tệp từ máy chủ. Phương pháp thích hợp sẽ là ./filename.ext.

../giải quyết đường dẫn lên một cấp từ thư mục hiện tại. Nếu bạn đang ở trong đường dẫn /cheese/crackers/yummy.htmlvà mã liên kết của bạn được yêu cầu ../butter/spread.htmltrong tài liệu yummy.html, thì bạn sẽ giải quyết đường dẫn /cheese/butter/spread.html, theo như máy chủ có liên quan.

/sẽ luôn giải quyết gốc của trang web.


12

Bạn có thể dùng

 ../

nghĩa là tăng một cấp. Nếu bạn có một trang tên là page2.html trong cùng thư mục với page.html thì đường dẫn tương đối là:

 page2.html.

Nếu bạn có page2.html ở cùng cấp với thư mục thì đường dẫn là:

  ../page2.html

Điều đó đã trả lời câu hỏi tôi đến đây để tìm kiếm, làm thế nào để tìm một trang trong cùng một thư mục.
jvangeld

10
<html>
    <head>
        <title>Page</title>
    </head>
    <body>
       <a href="./">Folder directory</a> 
    </body>
</html>

1
Không. Điều này sẽ tăng một cấp. Tôi cần thư mục hiện tại.
serg

3
Không nó không phải là :) Dấu chấm duy nhất là câu trả lời.
serg

1
Tôi kiểm tra nó trong cả IE và Firefox và "." giống như "./" HTML 4.01 Chuyển tiếp. Là một vấn đề loại tài liệu?
MrChrister

Hm, đó có thể là nó. Tôi đang sử dụng nghiêm ngặt, lẽ ra phải đề cập đến điều đó.
serg

3

Cả hai điều dưới đây dường như hoạt động

./

.


1
Vẫn chưa đúng, điều này tăng một cấp, đó không phải là những gì anh ấy đang hỏi ... Xem câu trả lời của
Bullines

4
./ lên một cấp dường như là vô nghĩa đối với tôi. tại sao nó làm điều đó?
Johannes Schaub - litb


2

Câu trả lời hàng đầu là không đủ rõ ràng. đây là những gì đã làm việc cho tôi: Định dạng chính xác sẽ giống như thế này nếu bạn muốn trỏ đến tệp thực:

 <a href="./page.html">

Điều này sẽ giúp bạn trỏ đến tệp đó trong cùng một thư mục nếu bạn đang ở trên trang http://example.com/folder/index.html

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.