Tôi muốn tắt thư mục duyệt thư mục / galerias và tất cả các thư mục con
Chỉ số / galerias / 409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
Tôi muốn tắt thư mục duyệt thư mục / galerias và tất cả các thư mục con
Chỉ số / galerias / 409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
Câu trả lời:
Tạo tệp .htaccess chứa dòng sau:
Options -Indexes
Đó là một lựa chọn. Một tùy chọn khác là chỉnh sửa tập tin cấu hình apache của bạn.
Để làm như vậy, trước tiên bạn cần mở nó bằng lệnh:
vim /etc/httpd/conf/httpd.conf
Sau đó tìm dòng: Tùy chọn Chỉ mục FollowSymLinks
Thay đổi dòng đó thành: Tùy chọn FollowSymLinks
Cuối cùng lưu và thoát tệp và khởi động lại máy chủ apache bằng lệnh này:
sudo service httpd restart
(Bạn có một hướng dẫn với ảnh chụp màn hình ở đây .)
.htaccess
có thể bằng cách tắt. Vui lòng kiểm tra AllowOverride
Chỉ thị. Nếu nó được đặt thành None
, thì nó .htaccess
sẽ bị tắt. Bạn có thể bật nó bằng cách cài đặt AllowOverride All
. Nói chính xác hơn, All
có nghĩa là tất cả các Chỉ thị của Apache.
Cách tốt nhất để làm điều này là vô hiệu hóa nó với máy chủ web apache2. Trong Ubuntu 14.X của tôi - /etc/apache2/apache2.conf
thay đổi mở từ
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
đến
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
sau đó khởi động lại apache bằng cách:
sudo service apache2 reload
Điều này sẽ vô hiệu hóa danh sách thư mục từ tất cả các thư mục mà apache2 phục vụ.
-Indexes
FollowSymLinks
apachectl configtest
sau khi thêm Options -Indexes FollowSymLinks
vào httpd.conf sẽ phát sinh lỗi sau: "Tất cả các Tùy chọn phải bắt đầu bằng + hoặc - hoặc không có Tùy chọn nào có thể." Do đó, những gì sẽ làm việc làOptions -Indexes +FollowSymLinks
Ngoài hai phương thức đã nói ở trên (chỉnh sửa /etc/apache2/apache2.conf hoặc thêm Tùy chọn-Indexes trong tệp .htaccess), đây là một phương pháp khác
a2dismod autoindex
Khởi động lại máy chủ apache2 sau đó
sudo service apache2 restart
a2dismod -f autoindex
để thực thi lệnh không chặn .
Alias
các thư mục và bất kỳ đường dẫn nào khác được phục vụ bởi Apache.
Chỉnh sửa / Tạo một .htaccess
tập tin bên trong /galerias
với điều này:
Options -Indexes
Duyệt thư mục được cung cấp bởi mô-đun mod_autoindex .
.htaccess
tệp (đó không phải là cách hiệu quả nhất nhưng thường là lựa chọn duy nhất trong các tài khoản lưu trữ được chia sẻ hoặc với các sysadins bận rộn).
Bạn có thể đặt một tệp trống được gọi index.html
vào mỗi thư mục mà bạn không muốn liệt kê. Điều này có một số lợi thế:
.htaccess
tệp, điều này có thể dẫn đến nhiều thông báo "Lỗi 500 - lỗi máy chủ nội bộ" cho người dùng của bạn!).Về mặt lý thuyết, autoindexing có thể được kích hoạt bởi một tệp khác (điều này được điều khiển bởi DirectoryIndex
tùy chọn), nhưng tôi chưa gặp phải điều này trong thế giới thực.
index.html
được xác định chủ yếu .
Một trong những điều quan trọng là thiết lập một máy chủ web apache an toàn là tắt chức năng duyệt thư mục. Theo mặc định, apache đi kèm với tính năng này được kích hoạt nhưng luôn bị vô hiệu hóa trừ khi bạn thực sự cần nó. Mở tệp httpd.conf trong thư mục apache và tìm dòng trông như sau:
Options Includes Indexes FollowSymLinks MultiViews
sau đó xóa Index Index và lưu tệp. Khởi động lại apache. Đó là nó
Đây không phải là một câu trả lời, chỉ là kinh nghiệm của tôi:
Trên Ubuntu 12.04 apache2 của tôi, không tìm thấy Indexes
trong cả apache2.conf hoặc httpd.conf, may mắn thay tôi đã tìm thấy nó trong sites-available/default
. Sau khi gỡ bỏ nó, bây giờ nó không thấy danh sách thư mục. Có thể phải làm điều đó cho sites-available/default-ssl
.
Để hoàn thành câu trả lời của @ GauravKachhadiya:
IndexIgnore *.jpg
có nghĩa là "chỉ ẩn các tệp mở rộng .jpg khỏi lập chỉ mục.
Chỉ thị IndexIgnore sử dụng biểu thức ký tự đại diện để khớp với các thư mục và tệp.
một ký tự sao, nó khớp với bất kỳ ký tự nào trong một chuỗi, ví dụ: foo hoặc foo.extension, trong ví dụ sau, chúng tôi sẽ tắt danh sách thư mục, sẽ không có tệp hoặc thư mục nào xuất hiện trong chỉ mục:
IndexIgnore *
Hoặc nếu bạn muốn ẩn các tệp không gian, trong danh sách thư mục, thì chúng ta có thể sử dụng
IndexIgnore *.php
* .php => khớp với một chuỗi bắt đầu bằng bất kỳ char nào và kết thúc bằng .php
Ví dụ trên ẩn tất cả các tệp kết thúc bằng .php
Hãy thử điều này trong .htaccess
:
IndexIgnore *.jpg