2011-06-20 28 views
6

Tôi đang gặp sự cố khi tự động tải index.html trong các thư mục con với Apache 2. Tự động tải index.html hoạt động tốt cho thư mục gốc.Cách tự động tải index.html trong các thư mục con với Apache 2

Bạn thấy đấy, để làm mọi thứ chung chung, ứng dụng web của tôi được viết sao cho mỗi mô-đun nằm trong thư mục con của chính nó. Mỗi thư mục có 3 tệp - index.html cho giao diện người dùng (chứa html + javascript), index.php cho chương trình phụ trợ (chứa mã php để truy cập cơ sở dữ liệu) và index.css để tạo kiểu.

Do đó, để truy cập vào các module khác nhau trong ứng dụng web:

[Tổng quan mô-đun] - http://xyz.com/overview?id=1234567890

[Thông tin chi tiết mô-đun] - http://xyz.com/details?id=1234567890

Nếu không có auto cơ chế tải cho các thư mục con, ở trên sẽ không thể thực hiện được.

Tôi sẽ đánh giá cao bất kỳ trợ giúp nào. Cảm ơn nhiều!

+1

Câu hỏi này phù hợp hơn cho serverfault.com – Suroot

+0

Hãy thử với 'DirectoryIndex index.html' trong httpd.conf của bạn. Đồng thời kiểm tra tài liệu [mod_dir] (http://httpd.apache.org/docs/2.3/mod/mod_dir.html). – jweyrich

+0

@Suroot Cảm ơn, sẽ đăng câu hỏi quản trị lên serverfault.com trong tương lai. Tôi đăng ở đây bởi vì hầu hết các lập trình viên phải quản lý môi trường phát triển của họ một lần hay cách khác và tôi nghĩ ai đó có thể đã gặp vấn đề này trước đây. – glendon

Trả lời

8

Cuối cùng, giải quyết nó với một đồng nghiệp.

DirectoryIndex mặc định được chỉ định trong httpd.conf không hoạt động đối với chúng tôi. Mặc dù trình tự của chúng tôi là 'index.html' rồi 'index.php', Apache2 sẽ phân phát 'index.php' trước tiên. Chỉ khi 'index.php' không phải là có trong cùng một thư mục, thì 'index.html' được phân phát.

Chúng tôi tìm thấy 2 cách để khắc phục điều đó:

Giả gốc doc của bạn là '/ var/www/html',

 
[Method 1] 
1. Add a .htaccess to the root directory of your web app (e.g. /var/www/html/myapp). 
2. Add the line 'DirectoryIndex index.html' to the .htaccess. 
3. In httpd.conf, set 'AllowOverride' to 'All' under <Directory '/var/www/html'>. 
 
[Method 2] 
1. In httpd.conf, add 'DirectoryIndex index.html' under <Directory 'var/www/html'>. 
(note: this 'DirectoryIndex' is different from the default DirectoryIndex that is 
not enclosed within any tag.) 

Khởi động lại máy chủ web.

Hy vọng điều này có thể giúp ai đó. Cảm ơn!

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