Я использую Options +FollowSymLinks -MultiViews
в файле .htaccess, который хранится в 1 папке над папками изображений, но это вызывает проблемы с просмотром изображений в этих каталогах при выводе на страницу через URL-адрес. Как только я удалю это из .htaccess, все изображения будут отображаться нормально.
Вот весь файл .htaccess в том виде, в котором он есть у меня:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ http://%{HTTP_HOST}/ [R=301,L]
Что-то не так? Потому что изображения вообще не отображаются при их выводе в <img>
теги src attribute.
В реальных каталогах изображений у меня есть еще один файл .htaccess, который выглядит следующим образом:
<FilesMatch "\.(jpg|jpeg|png|gif|bmp)$">
<IfModule mod_headers.c>
Header unset Pragma
FileETag None
Header unset ETag
Header set Cache-Control "max-age=864000, public, must-revalidate"
Header unset Last-Modified
</IfModule>
</FilesMatch>
Возможно, есть лучшая альтернатива для этого, которая позволит мне хорошо видеть изображения в папках на моем сервере? Честно говоря, я хотел бы знать, что на самом деле было причиной этого.
Приведет ли удаление этой строки к какой-либо угрозе безопасности? Options +FollowSymLinks -MultiViews
Могу я просто заменить его на: Options -Indexes
?
В принципе, я по-прежнему хочу, чтобы файлы в папке были доступны, но я не хочу, чтобы при просмотре URL-адреса папки все файлы отображались там, если вы понимаете, о чем я. Кроме того, интересно, можно ли это сделать так, чтобы он принимал файлы только с моего сервера, а не с других? Если это возможно или даже имеет смысл ...?
Когда я сталкиваюсь с подобными проблемами, первое, что я делаю, это смотрю на фактические возвращаемые заголовки HTTP-ответа.
Самый простой способ сделать это - использовать команду curl (http://curl.haxx.se/download.html):
curl -D headers.txt http://my_url.com
Это сохранит заголовки ответов в headers.txt, что должно дать вам гораздо лучшее представление о том, что на самом деле происходит. Надеюсь, этого будет достаточно, чтобы указать вам на решение.