Saya ingin menonaktifkan direktori browsing folder / galerias dan semua subdirektori
Indeks / galerias / 409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
Saya ingin menonaktifkan direktori browsing folder / galerias dan semua subdirektori
Indeks / galerias / 409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
Jawaban:
Buat file .htaccess yang berisi baris berikut:
Options -Indexes
Itu satu opsi. Pilihan lain adalah mengedit file konfigurasi apache Anda.
Untuk melakukannya, pertama-tama Anda harus membukanya dengan perintah:
vim /etc/httpd/conf/httpd.conf
Kemudian cari baris: Opsi Indeks FollowSymLinks
Ubah baris itu ke: Opsi FollowSymLinks
Terakhir simpan dan keluar file, dan restart server apache dengan perintah ini:
sudo service httpd restart
(Anda memiliki panduan dengan tangkapan layar di sini .)
.htaccess
mungkin dengan dimatikan. Silakan periksa AllowOverride
Petunjuk. Jika disetel ke None
, maka .htaccess
dimatikan. Anda dapat menyalakannya dengan mengatur AllowOverride All
. Lebih tepatnya, All
berarti semua Arahan Apache.
Cara terbaik untuk melakukan ini adalah menonaktifkannya dengan webserver apache2. Di Ubuntu 14.X saya - buka /etc/apache2/apache2.conf
perubahan dari
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
untuk
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
kemudian mulai ulang apache dengan:
sudo service apache2 reload
Ini akan menonaktifkan daftar direktori dari semua folder yang dilayani apache2.
-Indexes
FollowSymLinks
apachectl configtest
setelah menambahkan Options -Indexes FollowSymLinks
ke httpd.conf memuntahkan kesalahan berikut: "Semua Opsi harus dimulai dengan + atau -, atau tidak ada Opsi mungkin." Karena itu, yang akan berhasil adalahOptions -Indexes +FollowSymLinks
Terlepas dari dua metode yang ditentukan (edit /etc/apache2/apache2.conf atau tambahkan Opsi -Indeks dalam file .htaccess), berikut ini adalah metode lain.
a2dismod autoindex
Mulai ulang server apache2 sesudahnya
sudo service apache2 restart
a2dismod -f autoindex
untuk mengeksekusi perintah non-blocking .
Alias
folder dan jalur lain yang dilayani oleh Apache.
Edit / Buat .htaccess
file di dalamnya /galerias
dengan ini:
Options -Indexes
Penjelajahan direktori disediakan oleh modul mod_autoindex .
.htaccess
file (yang bukan cara yang paling performan tetapi sering satu-satunya pilihan dalam akun hosting bersama atau dengan sysadmin yang sibuk).
Anda dapat menempatkan file kosong yang dipanggil index.html
ke setiap direktori yang tidak ingin Anda daftarkan. Ini memiliki beberapa keunggulan:
.htaccess
file, ini dapat menyebabkan banyak pesan "Kesalahan 500 - kesalahan server internal" untuk pengguna Anda!).Secara teoritis, autoindexing mungkin dipicu oleh file yang berbeda (ini dikendalikan oleh DirectoryIndex
opsi), tetapi saya belum menemukan ini di dunia nyata.
index.html
didefinisikan secara utama .
Salah satu hal penting adalah pengaturan server web apache yang aman adalah menonaktifkan penelusuran direktori. Secara default apache dilengkapi dengan fitur ini diaktifkan tetapi selalu merupakan ide yang baik untuk menonaktifkannya kecuali Anda benar-benar membutuhkannya. Buka file httpd.conf di folder apache dan temukan baris yang terlihat sebagai berikut:
Options Includes Indexes FollowSymLinks MultiViews
kemudian hapus Indeks kata dan simpan file. Mulai ulang apache. Itu dia
Ini bukan jawaban, hanya pengalaman saya:
Pada apache2 Ubuntu 12.04 saya, tidak ditemukan Indexes
di apache2.conf atau httpd.conf, untungnya saya menemukannya di sites-available/default
. Setelah menghapusnya, sekarang tidak melihat daftar direktori. Mungkin harus melakukannya untuk sites-available/default-ssl
.
Untuk melengkapi jawaban @ GauravKachhadiya:
IndexIgnore *.jpg
berarti "sembunyikan saja file ekstensi .jpg dari pengindeksan.
Direktif IndexIgnore menggunakan ekspresi wildcard untuk mencocokkan dengan direktori dan file.
karakter bintang, cocok dengan karakter apa pun dalam string, misalnya: foo atau foo.extension, dalam contoh berikut, kita akan mematikan daftar direktori, tidak ada file atau direktori yang akan muncul dalam indeks:
IndexIgnore *
Atau jika Anda ingin menyembunyikan file spacific, dalam daftar direktori, maka kita dapat menggunakan
IndexIgnore *.php
* .php => cocok dengan string yang dimulai dengan karakter apa saja dan berakhir dengan .php
Contoh di atas menyembunyikan semua file yang diakhiri dengan .php
Coba ini di .htaccess
:
IndexIgnore *.jpg