Chcę wyłączyć przeglądanie katalogów folderu / galerias i wszystkich podkatalogów
Indeks / galerias / 409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
Chcę wyłączyć przeglądanie katalogów folderu / galerias i wszystkich podkatalogów
Indeks / galerias / 409
* Parent Directory * i1269372986681.jpg * i1269372986682.jpg * i1269372988680.jpg
Odpowiedzi:
Utwórz plik .htaccess zawierający następujący wiersz:
Options -Indexes
To jest jedna opcja. Inną opcją jest edycja pliku konfiguracyjnego Apache.
W tym celu należy najpierw otworzyć go za pomocą polecenia:
vim /etc/httpd/conf/httpd.conf
Następnie znajdź wiersz: Opcje Indeksy FollowSymLinks
Zmień tę linię na: Opcje FollowSymLinks
Na koniec zapisz i zamknij plik, a następnie uruchom ponownie serwer Apache za pomocą tego polecenia:
sudo service httpd restart
(Trzeba przewodnika z screenów tutaj ).
.htaccess
może być wyłączone. Sprawdź AllowOverride
dyrektywę. Jeśli jest ustawiony na None
, to .htaccess
jest wyłączony. Możesz go włączyć, ustawiając AllowOverride All
. Mówiąc ściślej, All
oznacza wszystkie dyrektywy Apache.
Najlepszym sposobem na to jest wyłączenie go za pomocą serwera Apache2. W moim Ubuntu 14.X - otwórz /etc/apache2/apache2.conf
zmianę z
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
do
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
następnie uruchom ponownie apache:
sudo service apache2 reload
Spowoduje to wyłączenie wyświetlania katalogu ze wszystkich folderów obsługiwanych przez apache2.
-Indexes
FollowSymLinks
apachectl configtest
po dodaniu Options -Indexes FollowSymLinks
do httpd.conf wyrzuca następujący błąd: „Albo wszystkie opcje muszą zaczynać się od + lub -, albo żadna opcja nie może”. W związku z tym, co będzie pracować jestOptions -Indexes +FollowSymLinks
Oprócz wspomnianych dwóch metod (edycja /etc/apache2/apache2.conf lub dodanie opcji -Indeksy w pliku .htaccess), oto kolejna
a2dismod autoindex
Ponownie uruchom serwer apache2
sudo service apache2 restart
a2dismod -f autoindex
do nieblokującego wykonania polecenia.
Alias
folderów i każdej innej ścieżki obsługiwanej przez Apache.
Edytuj / Utwórz .htaccess
plik w /galerias
ten sposób:
Options -Indexes
Przeglądanie katalogów zapewnia moduł mod_autoindex .
.htaccess
pliku (co nie jest najbardziej wydajnym sposobem, ale często jest to jedyna opcja na współdzielonych kontach hostingowych lub z zapracowanymi administratorami).
Możesz umieścić pusty plik wywoływany index.html
w każdym katalogu, którego nie chcesz umieszczać na liście. Ma to kilka zalet:
.htaccess
plików, może to prowadzić do wielu komunikatów „Błąd 500 - błąd wewnętrzny serwera” dla użytkowników!).Teoretycznie autoindeksowanie może zostać uruchomione przez inny plik (jest to kontrolowane przez DirectoryIndex
opcję), ale jeszcze nie spotkałem tego w prawdziwym świecie.
index.html
pierwotnie zdefiniowaną dyrektywą DirectoryIndex .
Jedną z ważnych rzeczy na temat ustawiania bezpiecznego serwera WWW Apache jest wyłączenie przeglądania katalogów. Domyślnie apache ma włączoną tę funkcję, ale zawsze warto ją wyłączyć, chyba że naprawdę potrzebujesz. Otwórz plik httpd.conf w folderze apache i znajdź wiersz, który wygląda następująco:
Options Includes Indexes FollowSymLinks MultiViews
następnie usuń Indeksy słów i zapisz plik. Uruchom ponownie apache. Otóż to
To nie jest odpowiedź, tylko moje doświadczenie:
Na moim apache2 Ubuntu 12.04 nie znalazłem Indexes
ani w apache2.conf, ani httpd.conf, na szczęście go znalazłem sites-available/default
. Po usunięciu nie wyświetla się teraz lista katalogów. Może trzeba to zrobić sites-available/default-ssl
.
Aby wypełnić odpowiedź @ GauravKachhadiya:
IndexIgnore *.jpg
oznacza „ukryj tylko pliki rozszerzeń .jpg przed indeksowaniem.
Dyrektywa IndexIgnore używa wyrażeń wieloznacznych w celu dopasowania do katalogów i plików.
znak gwiazdy, pasuje do wszystkich znaków w ciągu, np .: foo lub foo.extension, w poniższym przykładzie wyłączymy katalogowanie katalogu, w indeksie nie pojawią się żadne pliki ani katalogi:
IndexIgnore *
Lub jeśli chcesz ukryć pliki przestrzenne, na liście katalogów, możemy użyć
IndexIgnore *.php
* .php => dopasowuje ciąg, który zaczyna się na dowolny znak i kończy na .php
Powyższy przykład ukrywa wszystkie pliki z rozszerzeniem .php
Wypróbuj to w .htaccess
:
IndexIgnore *.jpg