Ini bahkan bekerja di <Direktori> atau <Lokasi> dalam file .conf yang sebenarnya
chrismarx
1
@ chrismarx file .conf mana yang akan saya masukkan? .htaccess tampaknya tidak diaktifkan di server saya, dan saya sudah membaca lebih baik tidak menggunakannya. Saya memiliki akses ke semua file server, karena itu vps.
Charles John Thompson III
1
Saya terjebak pada pertanyaan yang sama, saya menambahkan file .htaccess dengan kode ke direktori yang sama dengan halaman web saya, tetapi masih memberi saya peringatan browsing direktori. Apakah saya melakukan sesuatu yang salah?
Randy Gilman
10
Perhatikan bahwa .htaccessmungkin dengan dimatikan. Silakan periksa AllowOverridePetunjuk. Jika disetel ke None, maka .htaccessdimatikan. Anda dapat menyalakannya dengan mengatur AllowOverride All. Lebih tepatnya, Allberarti semua Arahan Apache.
Julian
2
Jika Anda memiliki kendali atas http.conf, lebih baik lakukan di sana. Ada hit kinerja dengan htaccess
Itay Moav -Malimovka
298
Cara terbaik untuk melakukan ini adalah menonaktifkannya dengan webserver apache2. Di Ubuntu 14.X saya - buka /etc/apache2/apache2.confperubahan dari
@ Jay Saya juga mencoba "Options -indexes" tetapi Apache tidak akan memulai kata penutup. Saya menjalankan versi Server: Apache / 2.4.18 (Ubuntu). Namun, menggunakan "Opsi FollowSymLinks" berfungsi sesuai jawaban Dung. Saya hanya ingin tahu versi Apache dan OS apa yang Anda jalankan? Mungkin itu versi versi?
MikeyE
@Jay @MikeyE Sama di sini; Apache tidak akan memuat ulang menggunakan-Indexes
Crimbo
1
@Jay @MikeyE Apache tampaknya memuat ulang / memulai ulang jika Anda menghapusFollowSymLinks
Crimbo
2
Berjalan apachectl configtestsetelah menambahkan Options -Indexes FollowSymLinkske httpd.conf memuntahkan kesalahan berikut: "Semua Opsi harus dimulai dengan + atau -, atau tidak ada Opsi mungkin." Karena itu, yang akan berhasil adalahOptions -Indexes +FollowSymLinks
John T.
45
Terlepas dari dua metode yang ditentukan (edit /etc/apache2/apache2.conf atau tambahkan Opsi -Indeks dalam file .htaccess), berikut ini adalah metode lain.
-Indeks pada direktori root tidak berfungsi, di apache2.4.33, saya harus menggunakan jawaban @Sarvar Nishonboyev
Felipe Valdes
1
@FelipeValdes Harap baca pertanyaan dan jawaban saya dengan saksama. Kami tidak berbicara tentang direktori root tetapi subdirektori dan itu diminta agar dapat dilakukan dalam .htaccessfile (yang bukan cara yang paling performan tetapi sering satu-satunya pilihan dalam akun hosting bersama atau dengan sysadmin yang sibuk).
Álvaro González
23
Anda dapat menempatkan file kosong yang dipanggil index.htmlke setiap direktori yang tidak ingin Anda daftarkan. Ini memiliki beberapa keunggulan:
Ini (biasanya) memerlukan konfigurasi nol pada server.
Ini akan tetap berfungsi, bahkan jika administrator server memutuskan untuk menggunakan "AllowOverride None" di konfigurasi server. (Jika Anda menggunakan.htaccess file, ini dapat menyebabkan banyak pesan "Kesalahan 500 - kesalahan server internal" untuk pengguna Anda!).
Ini juga memungkinkan Anda untuk memindahkan file Anda dari satu server ke yang berikutnya, lagi tanpa harus mengacaukan konfigurasi apache.
Secara teoritis, autoindexing mungkin dipicu oleh file yang berbeda (ini dikendalikan oleh DirectoryIndexopsi), tetapi saya belum menemukan ini di dunia nyata.
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
Sempurna. Nonaktifkan lebar-lebar mesin. Mengapa ini diaktifkan secara default, saya tidak tahu ...
eduncan911
1
Ini bekerja untuk saya di Ubuntu (apache2.conf) tetapi .htaccess Options -Indexes tidak.
Danniel Little
Ini bekerja untuk saya di Ubuntu (/etc/apache2/apache2.conf) tetapi .htaccess Options -Indexes tidak.
user2875289
5
Jika Anda memilih untuk memodifikasi file httpd.conf Anda untuk menyelesaikan ini dan Anda memiliki banyak arahan Opsi, maka Anda harus menambahkan a - atau a + sebelum setiap arahan. Contoh:
Pada apache2 Ubuntu 12.04 saya, tidak ditemukan Indexesdi 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.
Buka file .htaccess Anda dan masukkan kode berikut ini di
Options -Indexes
Pastikan Anda menekan tombol ENTER (atau tombol KEMBALI jika Anda menggunakan Mac) setelah memasukkan kata "Opsi -Indeks" sehingga file berakhir dengan baris kosong.
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
Jawaban:
Buat file .htaccess yang berisi baris berikut:
Itu satu opsi. Pilihan lain adalah mengedit file konfigurasi apache Anda.
Untuk melakukannya, pertama-tama Anda harus membukanya dengan perintah:
Kemudian cari baris: Opsi Indeks FollowSymLinks
Ubah baris itu ke: Opsi FollowSymLinks
Terakhir simpan dan keluar file, dan restart server apache dengan perintah ini:
(Anda memiliki panduan dengan tangkapan layar di sini .)
sumber
.htaccess
mungkin dengan dimatikan. Silakan periksaAllowOverride
Petunjuk. Jika disetel keNone
, maka.htaccess
dimatikan. Anda dapat menyalakannya dengan mengaturAllowOverride 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 dariuntuk
kemudian mulai ulang apache dengan:
Ini akan menonaktifkan daftar direktori dari semua folder yang dilayani apache2.
sumber
-Indexes
FollowSymLinks
apachectl configtest
setelah menambahkanOptions -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.
Mulai ulang server apache2 sesudahnya
sumber
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:Penjelajahan direktori disediakan oleh modul mod_autoindex .
sumber
.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.sumber
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:
kemudian hapus Indeks kata dan simpan file. Mulai ulang apache. Itu dia
sumber
Jika Anda memilih untuk memodifikasi file httpd.conf Anda untuk menyelesaikan ini dan Anda memiliki banyak arahan Opsi, maka Anda harus menambahkan a - atau a + sebelum setiap arahan. Contoh:
Pilihan -Index + FollowSymLinks
sumber
Ini bukan jawaban, hanya pengalaman saya:
Pada apache2 Ubuntu 12.04 saya, tidak ditemukan
Indexes
di apache2.conf atau httpd.conf, untungnya saya menemukannya disites-available/default
. Setelah menghapusnya, sekarang tidak melihat daftar direktori. Mungkin harus melakukannya untuksites-available/default-ssl
.sumber
Buka file .htaccess Anda dan masukkan kode berikut ini di
Pastikan Anda menekan tombol ENTER (atau tombol KEMBALI jika Anda menggunakan Mac) setelah memasukkan kata "Opsi -Indeks" sehingga file berakhir dengan baris kosong.
sumber
Tambahkan ini dalam file .htaccess Anda:
Jika tidak berfungsi karena alasan apa pun, coba ini di dalam file .htaccess Anda:
sumber
Untuk melengkapi jawaban @ GauravKachhadiya:
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
* .php => cocok dengan string yang dimulai dengan karakter apa saja dan berakhir dengan .php
Contoh di atas menyembunyikan semua file yang diakhiri dengan .php
sumber
Coba ini di
.htaccess
:sumber