我在一个.htaccess文件中使用了Options +FollowSymLinks -MultiViews ,它存储在图像文件夹上方的1个文件夹中,但是当通过URL输出到页面时,这会导致这些目录中的图像出现问题。 一旦我从.htaccess中删除这个,所有的图像显示正常。
这是整个.htaccess文件,因为我有它:
Options +FollowSymLinks -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ http://%{HTTP_HOST}/ [R=301,L]
这有什么问题吗? 导致图像在<img>标签src属性中输出时根本不显示。
在实际的图像目录中,我有另一个.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>
也许有更好的select,这将使我看到我的服务器上的文件夹中的图像罚款? 我想知道究竟是什么引起了这个开始说实话。
将删除此行会导致任何安全风险? Options +FollowSymLinks -MultiViews我可以简单地将其replace为: Options -Indexes ?
基本上,我仍然希望在文件夹内的文件是可访问的,但我不希望它,当浏览到文件夹的URL,文件都显示在那里,如果你明白我的意思。 另外,想知道,如果这可以做,只接受来自我的服务器的文件,而不是其他人? 如果这是可能的,甚至是有道理的?
当我遇到像这样的问题时,我所做的第一件事就是查看返回的实际HTTP响应头。
最简单的方法是使用curl命令( http://curl.haxx.se/download.html ):
curl -D headers.txt http://my_url.com
这会将响应标题保存到headers.txt中,这应该让你更好地了解到底是什么。 希望这将足以为您指出一个解决scheme。