2011-10-24 53 views
16

Tôi có một trang web trên một máy chủ. Trang chủ là example.com/index.php. OK, tôi đã tải lên tệp index.html có tên cho máy chủ (thư mục gốc) và khi tôi nhập tên miền của trang web vào thanh URL của trình duyệt, tôi đã ngạc nhiên vì trang index.html được tải.Tại sao index.html có ưu tiên hơn index.php?

(example.com-> example.com/index.html) Vì vậy, không phải những gì tôi muốn.

Câu hỏi của tôi: Tại sao điều đó lại xảy ra? Tại sao index.html có lợi thế hơn index.php?

+4

Vì đó là cách máy chủ của bạn được thiết lập. Bạn có thể làm cho một số tệp nhất định được ưu tiên hơn các tệp khác. Nếu bạn cần trợ giúp thiết lập máy chủ của mình, hãy kiểm tra lỗi máy chủ để thay thế. Đăng cấu hình của bạn. Bạn đang sử dụng apache, IIS? gì? – Matt

+0

Tôi đang sử dụng Apache ... – Akos

Trả lời

34

Nó thực sự phụ thuộc vào Máy chủ bạn đang sử dụng. Đây là vấn đề về cấu hình. Nó không phải là có bất kỳ lợi thế từ việc sử dụng html vs php filetype.

Bạn có thể nói rằng biến thể .html được ưu tiên do thực tế là định dạng web cơ bản nhất.

Nếu bạn đang sử dụng Apache, chỉ cần kiểm tra các thiết lập mặc định .htaccess:

DirectoryIndex index.html index.shtml index.php index.htm default.html Default.htm default.html Default.html default.shtml Default.shtml page1.html index.pl index.cgi index.php3 index.phtml home.htm home.html home.shtml index.wml 

Bạn có thể chỉnh sửa đó và làm cho nó phù hợp với nhu cầu của bạn.

+0

OK cảm ơn vì câu trả lời ... Điều này có liên quan đến tệp .htaccess không? – Akos

+1

@ kuroir tôi không nghĩ anh ấy có ý định như thế, tôi nghĩ anh ấy có ý nghĩa theo cách nó có ưu tiên nhất định. Câu trả lời của bạn vẫn hoạt động. – Matt

+1

Có, bạn có thể xác định điều đó từ tệp '.htaccess' của mình. Xem câu trả lời được cập nhật. – MarioRicalde

0

Cũng tùy thuộc vào nhà cung cấp dịch vụ lưu trữ của bạn, 90% nhà cung cấp dịch vụ lưu trữ ưu tiên index.html thay vì index.php hoặc bất kỳ phần mở rộng nào khác.

10

@kuroir là đúng, điều đó phụ thuộc vào cấu hình máy chủ web, trong Apache đó là DirectoryIndex:

DirectoryIndex index.html index.php index.cgi 

Điều đó sẽ ưu tiên cho .html file trên .php tập tin, và ưu tiên cho .php file trên .cgi tập tin.

0

Vấn đề lớn nhất, cũng như với tất cả các loại phát triển, là bảo trì. Nếu bạn quyết định thay đổi công nghệ sau đó bằng cách phơi bày phần mở rộng của tệp, bạn sẽ tự đặt mình cho rất nhiều công việc - chưa kể đến các khía cạnh bảo mật của việc phát sóng lựa chọn của bạn. Tình huống tốt nhất là tránh hiển thị các tiện ích mở rộng bằng cách sử dụng viết lại url.

2

Tôi biết điều này đã cũ và đã được chấp nhận nhưng tôi muốn thêm vào trường hợp này trong trường hợp người khác gặp sự cố này.

Tôi đến đây khi tìm kiếm giải pháp cho cùng một vấn đề. Nhập Wordpress "index.php" vào URL đã được chuyển hướng đến "index.html". Không có gì liên quan đến .htaccess. Cuối cùng tôi đã tìm thấy giải pháp trong diễn đàn của họ. Wordpress đã sửa đổi chương trình một vài năm trước để tách "index.php" khỏi các URL. Vì vậy, sau đó tất nhiên nó đi đến mặc định của bạn (thường là index.html).

Để ứng dụng hoạt động như mong đợi, bạn cần hoàn nguyên thay đổi tại đây: changeset 9203. Xem Forum topic

Các vấn đề liên quan