Wyłącz listę katalogów na apache; ale dostęp do poszczególnych plików powinien być dozwolony
Nie chcę używać .htaccess. Jak zmienić atrybuty katalogu?
<VirtualHost *:80>
ServerName abc.com
DocumentRoot /usr/share/uploads
<Directory " /usr/share/uploads">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
5 answers
Jeśli używasz Debiana/Ubuntu, po prostu przejdź do terminala i wpisz
sudo a2dismod autoindex
sudo service apache2 restart
Jeśli używasz Centos / Fedora, po prostu zrób:
mv /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.bkp
/etc/init.d/httpd restart
I podobnie w innych systemach operacyjnych lub dystrybucjach...
To powinno wyłączyć moduł apache, który sprawia, że te fantazyjne (zwykle bezużyteczne i problem z bezpieczeństwem) listy katalogów. Ponadto, jako bonus, można zarobić trochę wydajności: -)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-06 22:49:52
Naprawdę nie mogłem znaleźć bezpośredniej odpowiedzi w Internecie; nawet w dokumentacji apache. Wreszcie, możemy znaleźć rozwiązanie poprzez kilka iteracji; musimy użyć opcji i wartość nie powinna zawierać indeksów.
<Directory "/usr/share/uploads">
Options Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-22 04:22:56
Rozwiązanie @Deepak nie działało dla mnie. Ten zrobił:
W głównej konfiguracji apace /zapraszamy do zapoznania się z naszą ofertą.conf wystarczy dodać:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
I będzie działać dla wszystkich domen i subdomen. Bez .plik htaccess.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-14 12:09:43
Wszystko zrobione powyżej, ale informacje o katalogu wciąż się pojawiają? Jeśli używasz index.php, a nie indeks.html, Sprawdź:
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-06 05:46:46
Najprostszym sposobem byłoby umieszczenie pustego indeksu.html (lub cokolwiek apache jest domyślnie skonfigurowany do dostarczania) wewnątrz tego katalogu. Nie jest to realne rozwiązanie, ale bardzo proste obejście. Użytkownik przeglądający ten katalog zobaczy po prostu pustą białą stronę.
DODATKOWO możesz użyć skryptu (np. index.php), który emuluje listę katalogów i pokazuje tylko niektóre specjalne pliki.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-21 11:17:34