2009-08-17 59 views
6

Khi tôi nhập địa chỉ trang web của mình vào trình duyệt (mysite.com), nó chuyển hướng đến mysite.com/index.php. Tại sao không để index.html? Bởi vì tôi đã thay đổi nó trong tệp conf trong Apache 2.2.Ẩn index.php (hoặc index.html) của URL

  • Bây giờ tôi muốn ẩn phần "index.php" cuối cùng. Làm thế nào để làm điều đó ?
  • Nó có khác với index.html không index.php?

Sẽ không xấu nếu tìm kiếm google, bạn sẽ kết thúc trên www.google.com/index.html? ... nó chỉ dành cho thẩm mỹ nhưng thần là điều quan trọng đối với một số người.

+0

tôi lại gắn thẻ câu hỏi, loại bỏ 'hide' và thay thế với 'mod-rewrite' như tôi nghĩ đó là lẽ Có liên quan hơn. Tôi rất vui khi được chứng minh là sai, mặc dù =) –

+0

Bạn có ý gì khi chuyển hướng? Nó là một chuyển hướng bên ngoài (các thay đổi URL) hoặc chuyển hướng nội bộ (yêu cầu của '/' trả về giống như '/ index.php')? – Gumbo

Trả lời

10

Tôi không biết tại sao bạn cần sử dụng mod_rewrite. Trên trang web của tôi, tôi không làm gì để ẩn index.php, tôi chỉ không trỏ nó vào bất kỳ đâu trong mã, vì vậy thay vì www.example.com/index.php?task=forum tôi chỉ viết www.example.com/?task = diễn đàn. Nó hoạt động trên cấu hình apache tiêu chuẩn.

+1

Đồng ý. Bạn không cần MOD_REWRITE cho một điều đơn giản như vậy. –

+0

Tôi sẽ thử điều đó và quay lại với bạn. –

+0

Hmmm Tôi hơi bối rối ... Tôi tham khảo index.php sau trong một số mã khác nhưng nó không quan trọng. Khi tôi viết mysite.com, tôi đang được giới thiệu đến máy chủ của tôi đang chạy apache. Apache sau đó hiển thị index.html.Nhưng tôi không bao giờ nhắc đến nó một cách cụ thể. –

1

Bạn có thể dễ dàng thực hiện việc này với ánh xạ URL trong tệp http.conf hoặc tệp .htaccess riêng lẻ trong thư mục ứng dụng của bạn. Bật mod rewrite. Here là một hướng dẫn đơn giản.

+0

Tôi thích câu trả lời của bạn nhưng tôi nghĩ Pablo Santa Cruz và Thinker là đúng: Tôi không cần phải đi sâu vào đó để giải quyết vấn đề cụ thể của tôi. Không cần một khẩu pháo để giết một con ruồi. –

+0

Đồng ý, nếu bạn chỉ muốn xử lý index.html thì điều đó là chính xác. Nếu bạn có nhiều trang "kiểm soát", bạn cần mod_rewrite. –

3

Nếu đó là chuyển hướng, (bằng cách gửi một vị trí mới trên tiêu đề HTTP, chẳng hạn) thì bạn không thể làm gì ngoài việc thay đổi mã đang thực hiện chuyển hướng.

Mặt khác, nếu bạn là WebServer Apache, có một chỉ thị cấu hình có thể giúp:

DirectoryIndex

Khi bạn thiết lập đó để: index.php hoặc chỉ mục. html, khi đó máy chủ web của bạn sẽ tự động chuyển hướng đến các tệp nội bộ đó mà không thay đổi URL khi bạn nhấn vào thư mục trên máy chủ của bạn nơi chỉ thị DirectoryIndex được thiết lập.

Tôi đoán bạn sẽ nhận được câu trả lời tốt hơn nếu bạn đăng câu hỏi này trên SERVERFAULT.

Chúc may mắn.

+0

Tôi có thể không rõ ràng nhưng phần nói rằng "Tôi đã thay đổi nó trong tệp conf trong Apache" có nghĩa là chính xác điều đó. Nó được đặt thành index.php. –

2

này dường như làm việc trong môi trường của tôi (sẽ không hiển thị index.php):

 <form action="." method="POST"> 
     E-mail: <input type='password' size='50' name='email' /> 
     <input type='submit' value='Login' /> 
    </form> 
Các vấn đề liên quan