Działa to nawet w <Katalog> lub <Lokalizacja> w aktualnym pliku
.conf
1
@chrismarx w którym pliku .conf chciałbym go umieścić? Wydaje się, że .htaccess nie jest włączony na moim serwerze i przeczytałem, że lepiej go nie używać. Mam jednak dostęp do wszystkich plików serwera, ponieważ jest to vps.
Charles John Thompson III
1
Utknąłem na tym samym pytaniu, dodałem plik .htaccess z kodem do tego samego katalogu, co moja strona internetowa, ale wciąż daje mi alert przeglądania stron internetowych. czy robię coś źle?
Randy Gilman,
10
Pamiętaj, że .htaccessmoże być wyłączone. Sprawdź AllowOverridedyrektywę. Jeśli jest ustawiony na None, to .htaccessjest wyłączony. Możesz go włączyć, ustawiając AllowOverride All. Mówiąc ściślej, Alloznacza wszystkie dyrektywy Apache.
Julian
2
Jeśli masz kontrolę nad http.conf, lepiej zrób to tam. Htaccess jest hitem wydajnościowym
Itay Moav -Malimovka
299
Najlepszym sposobem na to jest wyłączenie go za pomocą serwera Apache2. W moim Ubuntu 14.X - otwórz /etc/apache2/apache2.confzmianę z
@Jay Próbowałem także „Opcje -indeksy”, ale Apache nie chciał rozpocząć posłowie. Używam wersji serwera: Apache / 2.4.18 (Ubuntu). Jednak użycie opcji „FollowSymLinks” działało zgodnie z odpowiedzią Dunga. Jestem tylko ciekawy, jaką wersję Apache i systemu operacyjnego używasz? Może to kwestia wersji?
MikeyE,
@Jay @MikeyE To samo tutaj; Apache nie przeładuje się przy użyciu-Indexes
Crimbo
1
@Jay @MikeyE Apache wydaje się ponownie ładować / restartować, jeśli usunieszFollowSymLinks
Crimbo
2
Uruchomienie apachectl configtestpo dodaniu Options -Indexes FollowSymLinksdo 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
John T.
45
Oprócz wspomnianych dwóch metod (edycja /etc/apache2/apache2.conf lub dodanie opcji -Indeksy w pliku .htaccess), oto kolejna
-Indeksy w katalogu głównym nie działają, w apache2.4.33 musiałem użyć odpowiedzi @Sarvara Nishonboyeva
Felipe Valdes
1
@FelipeValdes Proszę uważnie przeczytać zarówno pytanie, jak i moją odpowiedź. Nie mówimy o katalogu głównym, ale o podkatalogu, który został poproszony o wykonanie w .htaccesspliku (co nie jest najbardziej wydajnym sposobem, ale często jest to jedyna opcja na współdzielonych kontach hostingowych lub z zapracowanymi administratorami).
Álvaro González
23
Możesz umieścić pusty plik wywoływany index.htmlw każdym katalogu, którego nie chcesz umieszczać na liście. Ma to kilka zalet:
(Zwykle) wymaga zerowej konfiguracji na serwerze.
Będzie działać, nawet jeśli administrator serwera zdecyduje się użyć „AllowOverride None” w konfiguracji serwera. (Jeśli używasz .htaccessplików, może to prowadzić do wielu komunikatów „Błąd 500 - błąd wewnętrzny serwera” dla użytkowników!).
Pozwala także przenosić pliki z jednego serwera na drugi, bez konieczności bałaganu w konfiguracji apache.
Teoretycznie autoindeksowanie może zostać uruchomione przez inny plik (jest to kontrolowane przez DirectoryIndexopcję), ale jeszcze nie spotkałem tego w prawdziwym świecie.
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
Idealny. Wyłącz maszynę na szerokość. Dlaczego miałoby to być włączone domyślnie, nie mam pojęcia ...
eduncan911
1
To działało dla mnie na Ubuntu (apache2.conf), ale Opcje .htaccess -Indeksy nie.
Danniel Little
To działało dla mnie na Ubuntu (/etc/apache2/apache2.conf), ale opcje .htaccess -Indeksy nie.
user2875289
5
Jeśli zdecydujesz się zmodyfikować plik httpd.conf, aby rozwiązać ten problem, i masz wiele dyrektyw Opcje, musisz dodać znak - lub + przed każdą dyrektywą. Przykład:
Na moim apache2 Ubuntu 12.04 nie znalazłem Indexesani 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.
Otwórz plik .htaccess i wprowadź następujący kod w
Options -Indexes
Upewnij się, że naciśniesz klawisz ENTER (lub klawisz RETURN, jeśli używasz komputera Mac) po wprowadzeniu słów „Opcje -Indeksy”, aby plik kończył się pustą linią.
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
Odpowiedzi:
Utwórz plik .htaccess zawierający następujący wiersz:
To jest jedna opcja. Inną opcją jest edycja pliku konfiguracyjnego Apache.
W tym celu należy najpierw otworzyć go za pomocą polecenia:
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:
(Trzeba przewodnika z screenów tutaj ).
źródło
.htaccess
może być wyłączone. SprawdźAllowOverride
dyrektywę. Jeśli jest ustawiony naNone
, to.htaccess
jest wyłączony. Możesz go włączyć, ustawiającAllowOverride 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ę zdo
następnie uruchom ponownie apache:
Spowoduje to wyłączenie wyświetlania katalogu ze wszystkich folderów obsługiwanych przez apache2.
źródło
-Indexes
FollowSymLinks
apachectl configtest
po dodaniuOptions -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
Ponownie uruchom serwer apache2
źródło
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:Przeglądanie katalogów zapewnia moduł mod_autoindex .
źródło
.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.źródło
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:
następnie usuń Indeksy słów i zapisz plik. Uruchom ponownie apache. Otóż to
źródło
Jeśli zdecydujesz się zmodyfikować plik httpd.conf, aby rozwiązać ten problem, i masz wiele dyrektyw Opcje, musisz dodać znak - lub + przed każdą dyrektywą. Przykład:
Opcje -Indeksy + FollowSymLinks
źródło
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łemsites-available/default
. Po usunięciu nie wyświetla się teraz lista katalogów. Może trzeba to zrobićsites-available/default-ssl
.źródło
Otwórz plik .htaccess i wprowadź następujący kod w
Upewnij się, że naciśniesz klawisz ENTER (lub klawisz RETURN, jeśli używasz komputera Mac) po wprowadzeniu słów „Opcje -Indeksy”, aby plik kończył się pustą linią.
źródło
Dodaj to do pliku .htaccess:
Jeśli to nie działa z jakiegokolwiek powodu, spróbuj tego w pliku .htaccess:
źródło
Aby wypełnić odpowiedź @ GauravKachhadiya:
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ć
* .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
źródło
Wypróbuj to w
.htaccess
:źródło