.htaccess - solucionar - tecnicomo(punto)com/web/como-resolver-el-error-http-al-subir-imagenes-en-wordpress/
Reemplazar URL de imagen inválida con imagen 404 (5)
Aquí hay una respuesta potencial:
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule /.(gif|jpe?g|png|bmp) /path/to/logo.gif [NC,L]
Otra es usar una página personalizada con script:
Use la directiva errorDocument (documentada en [httpd.apache.org]) para señalar un error ''404'' a un script (perl, PHP, lo que sea). Si el archivo solicitado tiene una extensión de imagen (o tiene un mimetype / * de imagen; PHP proporciona la función mime_content_type [us2.php.net] para esto; estoy seguro de que hay muchas formas de hacerlo en perl; el MIME :: El módulo Tipos [search.cpan.org] es de una manera), luego configure el encabezado "Tipo de contenido" en el tipo MIME de su imagen de logotipo y devuelva el contenido de la imagen del logotipo al navegador.
No sé si esto es posible o no, tengo un host de imágenes que he creado yo mismo. Necesito algunos últimos retoques con eso.
Siempre que una imagen haya sido eliminada o sea una url de imagen no válida, debe reemplazarse con una imagen 404, por ejemplo, si alguien agrega esto:
Pero es un enlace inválido, así que lo necesito para mostrar:
Que es así:
texto alternativo http://tinypic.com/images/404.gif
Sé que .htaccess
puede hacer esto con su ErrorDocument 404
, pero ya tengo uno cuando un usuario accede a una página no válida, por lo que mostraría la página 404.
Así que cada vez que un usuario vincula una imagen y no es válida o se elimina, necesito que sea reemplazada por la imagen 404.
¿Cómo puedo hacer esto?
Con Apache, puedes tener múltiples archivos .htaccess . Por lo tanto, si todas sus imágenes se almacenan en el mismo directorio, cree un archivo .htaccess
dentro de ese directorio y agregue
ErrorDocument 404 /img/notfound.jpg
Esto creará una redirección 404 personalizada que se aplica solo a su directorio de imágenes, más sus subdirectorios.
De acuerdo y además de la respuesta de AdamH, debe generar un 404 header
. Esto es lo que estoy usando,
.htaccess
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule /.(gif|jpe?g|png|bmp) /upload/image404.php [NC,L]
image404.php
<?php
$file = ''image404.jpg'';
$type = ''image/jpeg'';
header("HTTP/1.0 404 Not Found");
header(''Content-Type:''.$type);
header(''Content-Length: '' . filesize($file));
readfile($file);
?>
Puedes usar ErrorDocument con la directiva FilesMatch
<filesMatch "/.(jpg|png|gif)$">
ErrorDocument 404 /image.jpg
</filesMatch>
Esto mostrará /image.jpg si se solicita un uri de 404 imágenes con jpg png o extensión gif .
También puede agregar su imagen personalizada o marca html al documento de error:
<filesMatch "/.(jpg|png|gif)$">
ErrorDocument 404 ''<img src="image.jpg">''
</filesMatch>
<FilesMatch ".(jpg|png|gif)$">
ErrorDocument 404 "/path/to/image.jpg"
</FilesMatch>