/ Galerias klasörüne ve tüm alt dizinlere dizin taramayı devre dışı bırakmak istiyorum
Dizin / galerias / 409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
/ Galerias klasörüne ve tüm alt dizinlere dizin taramayı devre dışı bırakmak istiyorum
Dizin / galerias / 409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
Yanıtlar:
Aşağıdaki satırı içeren bir .htaccess dosyası oluşturun:
Options -Indexes
Bu bir seçenektir. Başka bir seçenek de apache yapılandırma dosyanızı düzenlemektir.
Bunu yapmak için önce komutla açmanız gerekir:
vim /etc/httpd/conf/httpd.conf
Sonra satırı bulun: Seçenekler Dizinler FollowSymLinks
Bu satırı şu şekilde değiştirin: Options FollowSymLinks
Son olarak dosyayı kaydedip çıkın ve apache sunucusunu şu komutla yeniden başlatın:
sudo service httpd restart
.htaccess
kapalı olabileceğini unutmayın . Lütfen AllowOverride
Direktifi kontrol edin . Olarak ayarlanırsa None
, .htaccess
kapatılır. Ayarlayarak açabilirsiniz AllowOverride All
. Daha kesin olmak gerekirse, All
tüm Apache Direktifleri anlamına gelir.
Bunu yapmanın en iyi yolu web sunucusu apache2 ile devre dışı bırakmaktır. Ubuntu 14.X'imde - /etc/apache2/apache2.conf
gelen değişikliği aç
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
için
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ardından apache'yi şu şekilde yeniden başlatın:
sudo service apache2 reload
Bu, apache2'nin sunduğu tüm klasörlerden dizin listesini devre dışı bırakır.
-Indexes
FollowSymLinks
apachectl configtest
eklendikten sonra çalıştırma Options -Indexes FollowSymLinks
şu hatayı verir: "Ya tüm Seçenekler + veya - ile başlamalı ya da hiçbir seçenek olmayabilir." Bu nedenle ne olacak çalışmak olduğunuOptions -Indexes +FollowSymLinks
Apart aformentioned iki yöntem (düzenleme gelen /etc/apache2/apache2.conf veya eklenti Seçenekler -Indexes .htaccess dosyasında), burada başka bir tanesidir
a2dismod autoindex
Daha sonra apache2 sunucusunu yeniden başlatın
sudo service apache2 restart
a2dismod -f autoindex
için kullanabilirsiniz .
Alias
klasörler ve Apache tarafından sunulan diğer tüm yollar için çalışır .
.htaccess
İçinde bir dosya düzenleyin / oluşturun /galerias
:
Options -Indexes
Dizin taraması mod_autoindex modülü tarafından sağlanır .
.htaccess
dosyada yapılabilir olması istendi (en performanslı yol değil, ancak genellikle paylaşılan barındırma hesaplarında veya meşgul sistem yöneticileriyle tek seçenek).
index.html
Listelenmesini istemediğiniz her dizine boş bir dosya yerleştirebilirsiniz . Bunun birkaç avantajı vardır:
.htaccess
Dosya kullanıyorsanız, bu kullanıcılarınız için çok sayıda "Hata 500 - dahili sunucu hatası" iletisine yol açabilir!).Teorik olarak, otomatik indeksleme farklı bir dosya tarafından tetiklenebilir (bu DirectoryIndex
seçenek tarafından kontrol edilir ), ancak henüz gerçek dünyada bununla karşılaşmadım.
index.html
birincil olarak tanımlanmış DirectoryIndex Yönergesi ile çalışabilir .
Önemli bir şey, güvenli bir apache web sunucusu ayarlanmasıdır.Dizin taramayı devre dışı bırakmaktır. Varsayılan olarak apache bu özellik etkinken gelir, ancak gerçekten ihtiyacınız olmadığı sürece devre dışı bırakmak her zaman iyi bir fikirdir. Httpd.conf dosyasını apache klasöründe açın ve aşağıdaki gibi görünen satırı bulun:
Options Includes Indexes FollowSymLinks MultiViews
ardından Dizin kelimesini kaldırın ve dosyayı kaydedin. Apache'yi yeniden başlatın. Bu kadar
@ GauravKachhadiya'nın cevabını tamamlamak için:
IndexIgnore *.jpg
"yalnızca .jpg uzantı dosyalarının dizine eklenmesini gizle anlamına gelir .
IndexIgnore yönergesi, dizinler ve dosyalarla eşleşmek için joker karakter ifadesi kullanır.
bir yıldız karakteri, bir dizedeki herhangi bir karakterle eşleşir, örneğin: foo veya foo.extension, aşağıdaki örnekte dizin listesini kapatacağız, dizinde dosya veya dizin görünmeyecek:
IndexIgnore *
Veya boşluk dosyalarını gizlemek istiyorsanız, dizin listesinde,
IndexIgnore *.php
* .php => herhangi bir karakterle başlayan ve .php ile biten bir dizeyle eşleşir
Yukarıdaki örnek .php ile biten tüm dosyaları gizler
Şunu deneyin .htaccess
:
IndexIgnore *.jpg