Mac*_*Mac 22 .htaccess http-status-code-404
我不知道这是否可能,我有一个我自己制作的图像主机.我需要对它进行一些最后的调整.
每当图像被删除或是无效的图像网址时,它应该替换为404图像,例如,如果有人添加了这个:
但这是一个无效的链接,所以我需要它来显示:
这是这样的:
替代文字http://tinypic.com/images/404.gif
我知道.htaccess
可以用它来做到这一点ErrorDocument 404
,但是当用户访问无效页面时我已经有了一个,所以它会显示404页面.
因此,每当用户热链接图像并且图像无效或被删除时,我都需要将其替换为404图像.
我该怎么做?
Ada*_*amH 42
这是一个可能的答案:
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule \.(gif|jpe?g|png|bmp) /path/to/logo.gif [NC,L]
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用自定义脚本页面:
使用errorDocument指令(在[httpd.apache.org]中记录)将'404'错误指向脚本(perl,PHP,无论如何).如果请求的文件有一个图像扩展名(或者有一个图像/*mimetype; PHP为此提供了mime_content_type [us2.php.net]函数;我确信在perl中有很多方法可以做到这一点; MIME ::类型[search.cpan.org]模块是单向的),然后将"Content-Type"标头设置为徽标图像的mimetype,并将logoimage的内容返回给浏览器.
http://www.webmasterworld.com/forum92/3458.htm
dit*_*tto 19
<FilesMatch ".(jpg|png|gif)$">
ErrorDocument 404 "/path/to/image.jpg"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
Gar*_*yde 16
使用Apache,您可以拥有多个.htaccess文件.因此,如果所有图像都存储在同一目录中,请在该目录中创建一个.htaccess
文件并添加
ErrorDocument 404 /img/notfound.jpg
Run Code Online (Sandbox Code Playgroud)
这将创建一个自定义404重定向,该重定向仅应用于您的图像目录及其子目录.
您可以将ErrorDocument与FilesMatch指令一起使用
<filesMatch "\.(jpg|png|gif)$">
ErrorDocument 404 /image.jpg
</filesMatch>
Run Code Online (Sandbox Code Playgroud)
如果请求带有jpg png或gif扩展名的404图像uri,它将显示/image.jpg。
您还可以将您的自定义图像或html标记添加到errordocument中:
<filesMatch "\.(jpg|png|gif)$">
ErrorDocument 404 '<img src="image.jpg">'
</filesMatch>
Run Code Online (Sandbox Code Playgroud)