我刚刚搬到了新服务器。我的所有网站都包含没有扩展名的图像。()但新服务器似乎无法识别这些文件,除非我添加每个文件的扩展名,但我不知道,所以我需要它在没有扩展名的情况下工作。
例子:http://lujanventas.com/test.php
图像无法显示的原因可能是什么?我该怎么做才能使它们正常工作?
% curl http://lujanventas.com/test.php
<html>
<body>
No extension:</br>
<img class="itemImage" src="/uploads/thumbs/619-0"></br>
With extension:</br>
<img class="itemImage" src="/uploads/thumbs/619-0.jpg"></br>
</body>
</html>
% curl -I http://lujanventas.com/uploads/thumbs/619-0
HTTP/1.1 302 Found
Location: http://www.lujanventas.com/404.php
% curl -I http://lujanventas.com/uploads/thumbs/619-0.jpg
HTTP/1.1 200 OK
服务提供商为MediaTemple,服务器使用Apache
答案1
您想要启用 MultiViews内容协商,这会让 Apache 选择资源的适当表示。 或 或 部分中的以下指令应该可以.htaccess
实现这一点。<Directory>
<Location>
<Files>
Options MultiViews
答案2
Apache 使用文件扩展名来确定文件类型并将相应的 mime 类型与 Content-Type 标头关联。
您还可以使用SetHandler image/jpeg
.htaccess 强制将此目录中的所有文件表示为图像。