Index HTML là gì

Tôi có khá nhiều vấn đề tôi muốn nghe ý kiến ​​của bạn, vì vậy tôi hy vọng tôi sẽ giải thích nó đủ tốt. Tôi cũng nên lưu ý rằng tôi mới bắt đầu chỉ trang bị kiến ​​thức về HTML và CSS nên mặc dù tôi gần như chắc chắn rằng có một giải pháp đơn giản sử dụng PHP mạnh mẽ, nhưng nó sẽ không giúp tôi .

Hãy nói rằng tôi có blog cá nhân của tôi trên địa chỉ example.com/blog.htmlvà có các liên kết đến một số blog phụ example.com/blog/math.html, example.com/blog/coding.htmlv.v ... Vì vậy, thư mục gốc của tôi chứa blog.htmlvà blogthư mục, blogchính thư mục chứa các tệp math.htmlvà coding.html.

Trước hết, tôi đã học được [từ Google Webmaster Tools ] rằng vì mục đích thẩm mỹ và SEO, nên thống nhất example.com.comvà example.com/index.htmlbằng cách thêm _rel="canonical"_thuộc tính vào nguồn của index.html. Sử dụng một vài thủ thuật khác [như liên kết đến ../và ./] tôi đã thoát khỏi sự xấu xí index.htmlxuất hiện trong các địa chỉ web của mình.

Và bây giờ tôi tự hỏi nếu thủ thuật này có thể được sử dụng không chỉ cho thư mục gốc mà còn cho bất kỳ thư mục nào? Ý tôi là, tôi sẽ chuyển tôi blog.htmlvào blogthư mục, đổi tên nó thành index.htmlvà thêm rel="canonical"vào để thống nhất example.com/blog/index.htmlvới example.com/blog/.
Thủ thuật này sẽ thay đổi địa chỉ blog của tôi từ example.com/blog.htmlthành example.com/blog/.

Chưa xong! Tôi cũng gặp vấn đề với robot google lập chỉ mục các thư mục của tôi. Vì vậy, khi tôi gõ site:example.com/vào tìm kiếm google, liên kết đến thư mục của tôi example.com/blog/với các tệp thô, biểu tượng, vv xuất hiện trong số các kết quả khác. Tôi đoán cũng có những cách khác để khắc phục nó, nhưng IMHO thay đổi được đề cập ở trên cũng thực hiện thủ thuật - index.html trong thư mục blog sẽ bảo vệ người dùng xem nội dung thô thực sự của thư mục đó, sẽ chỉ xuất hiện liên kết đúng example.com/blog/trong tìm kiếm google và [tôi hy vọng rằng] _rel="canonical"_sẽ làm cho liên kết không mong muốn thứ hai example.com/blog/index.htmlkhông xuất hiện trong kết quả tìm kiếm.

Vì vậy, câu hỏi của tôi là:

  1. Đây có phải là một cách thực hành tốt để có index.htmltệp trong mỗi thư mục con hay nó chỉ được dự định trong thư mục gốc?
  2. Có bất kỳ nhược điểm hoặc vấn đề nào có thể xảy ra khi sử dụng phương pháp " chỉ mục trong mọi thư mục " thứ hai không?
  3. Mà một trong hai cách cơ cấu trang web mô tả ở trên sẽ bạn thích?

Lý do chúng tôi sử dụng index.htmlhoặc home.htmlhoặc derivitives của chúng, là do phần mềm máy chủ web riêng của mình thực sự tìm kiếm đó và phục vụ nó. Ví dụ:

Đây là INVALID: [thư mục www] /var/www/|_blog.html|_blog/  |_math.html  |_page2.html  |_page3.html  |_[...]

Điều này trong thực tế sẽ được phục vụ như một trang liệt kê các thư mục và tệp. [Không phải những gì bạn muốn]. Bạn có thể thử cấu trúc này, nhưng cũng tạo một tệp index.html bên cạnh blog.html. Lưu ý cách nó sẽ không phục vụ blog.html trừ khi bạn chỉ định //www.site.com/blog.html] Đây là lý do tại sao //www.google.com/hiển thị trang mà không cần bạn phải chỉ định//www.google.com/index.html

Đây là GIÁ TRỊ: /var/www/|_index.html [renamed blog.html to index.html]|_blog/  |_math.html  |_page2.html  |_page3.html  |_[...]

Điều này sẽ phục vụ blog.htmltập tin của bạn NHƯ HOMEPAGE. [Không liệt kê tất cả các thư mục / tệp trong thư mục đó]

Phần mềm máy chủ web có [trong cấu hình] một danh sách tên tệp chuyên biệt sẽ được dùng làm trang chủ hoặc trang chính của thư mục. [Theo kinh nghiệm của tôi, index.htmlđược ưu tiên hơn index.php, vì vậy nếu bạn có index.htmlvà index.phptrong một thư mục, index.html là những gì công chúng sẽ thấy] Tất nhiên tất cả đều có thể thay đổi và thậm chí bạn có thể đặt blog.htmlthành được công nhận là "mục lục".

Phát biểu ý kiến ​​của bạn:

"Thủ thuật này sẽ thay đổi địa chỉ blog của tôi từ www.xxx.com/blog.html thành www.xxx.com/blog/."

Điều này sẽ được thực hiện bằng cách chuyển blog.htmlhoàn toàn vào /blog/và đổi tên nó thành index.html.

Cấu trúc mới của bạn sẽ là: /var/www/|_blog/  |_index.html [renamed from blog.html]  |_math.html  |_page2.html  |_page3.html  |_[...]

Điều này sẽ phục vụ chính xác //www.site.com/blog/để hiển thị nội dung của blog.html mà chúng tôi đã đổi tên thành để index.htmlphần mềm có thể đặt nó làm chỉ mục của thư mục của bạn/blog/

Bây giờ bạn cũng có thể tự do đặt và index.htmlgửi vào thư mục gốc của trang web của bạn //www.site.com/[index.html]để có liên kết đến /blog/và bất cứ điều gì bạn muốn.

Trả lời cụ thể câu hỏi của bạn trong các câu ngắn:

Đây có phải là một cách thực hành tốt để có tệp index.html trong mỗi thư mục con hay nó chỉ được dự định trong thư mục gốc?

Có, bởi vì nó ngăn mọi người nhìn thấy những tập tin trong thư mục của bạn. Bạn có thể ngăn chặn điều này với một .htaccesstập tin có chứaOptions -Indexes

Có bất kỳ nhược điểm hoặc vấn đề nào có thể xảy ra khi sử dụng phương pháp "chỉ mục trong mọi thư mục" thứ hai không?

Không ai mà tôi có thể nghĩ ra.

Bạn thích cái nào trong hai cách cấu trúc trang web được mô tả ở trên?

Tôi thường có một index.htmlhoặc index.phptập tin trong thư mục gốc, các thư mục con dựa trên danh mục [chẳng hạn như forumhoặc newshoặc loginvv] và sau đó một số loại chỉ mục bên trong mỗi thư mục.

Thuật ngữ kỹ thuật cho index.html là Chỉ mục thư mục cho Apache và Tài liệu mặc định cho IIS. Chỉ thị quan tâm khác của Apache là chỉ thị Tùy chọn . Như được chỉ ra trong tài liệu, khi Options Indexesđược đặt:

Nếu một URL ánh xạ tới một thư mục được yêu cầu và không có Directory Index [ví dụ: index.html] trong thư mục đó, thì mod_autoindex sẽ trả về một danh sách được định dạng của thư mục.

Khi tôi thiết lập một trang web không sử dụng hệ thống quản lý nội dung, thiết lập ưu tiên của tôi là có một trang nội dung cho mỗi thư mục. Trang đó là chỉ mục thư mục [tài liệu mặc định] cho thư mục. Tất cả các liên kết trên trang web chỉ liên kết đến thư mục và kết thúc bằng dấu gạch chéo [ví dụ: //example.com/blog/thay vì //example.com/blog/index.htmlhoặc ./blog/thay vì ./blog/index.html]. Dấu gạch chéo là quan trọng để tránh những gì thường được gọi là chuyển hướng lịch sự . [Nếu dấu gạch chéo bị bỏ qua, mọi thứ vẫn giải quyết chính xác, nhưng số lượng yêu cầu HTTP và do đó băng thông tăng lên.]

Động lực chính của tôi cho phương pháp trên là gấp đôi. Đầu tiên, nó tạo điều kiện chuyển đổi công nghệ được sử dụng trên trang web. Ví dụ: tôi có thể thay đổi một trang từ index.html sang index.php mà không phá vỡ bất kỳ liên kết hoặc danh sách công cụ tìm kiếm nào. Thứ hai, phần mở rộng tập tin của một trang nội dung là "nhiễu"; xóa phần mở rộng tệp khỏi URL dẫn đến các URL ngắn hơn và hy vọng sẽ dễ đọc hơn.

Đối với các loại tệp khác:

  • Tất cả các tệp CSS nằm trong một thư mục css trong thư mục gốc của trang web.
  • Tất cả các tệp hình ảnh nằm trong một thư mục hình ảnh hoặc thư mục con của chúng trong thư mục gốc của trang web.
  • Tất cả các tệp JavaScript nằm trong một thư mục script trong thư mục gốc của trang web.
  • Tất cả các tập tin flash và phim khác nằm trong một thư mục video hoặc thư mục con của chúng trong thư mục gốc của trang web.

Trên máy chủ Apache, tôi vô hiệu hóa Options Indexescác thư mục đã nói ở trên. Trên cả máy chủ Apache và IIS, tôi không chỉ định một chỉ mục thư mục [tài liệu mặc định] cho các thư mục đã nói ở trên. Do đó, yêu cầu cho bất kỳ thư mục nào cũng dẫn đến lỗi HTTP 403.

Video liên quan

Chủ Đề