Je veux montrer no_picture.png si l'image demandée n'existe pas. Je devrais le faire avec .htaccess. Merci beaucoup.Montrer no_picture.png par .htaccess si l'image n'existe pas
11
A
Répondre
24
RewriteEngine On
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*$ /no_picture.png [L]
Décrivons ce que signifie chaque ligne.
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC]
Vérifiez si le fichier est d'une extension de fichier dans les parenthèses ()
. Dans ce cas, nous testons pour voir si le nom du fichier se termine dans les deux .jpg
, .jpeg
, .gif
, .png
ou .ico
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Vérifiez que le fichier est pas là et il est pas non plus un répertoire.
RewriteRule .*$ /no_picture.png [L]
Si une ressource/fichier demandé passe tous ces tests, il est une image qui n'existe pas. Alors servez l'image de no_picture.png
dans le navigateur. Cela gardera le nom de fichier. Si vous souhaitez rediriger vers le nom du fichier no_picture.png
, changer [L]
-[R]
1
RewriteCond %{REQUEST_URI} pic/(.*)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule pic/(.*) pic/no_picture.png [L,E=STATUS:404]
1
Dans votre/images /, ajoutez à votre .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule no_picture.png [L]
Cela dit, si le fichier demandé n'existe pas, récrire à no_picture.png
4
cela devrait aussi fonctionner:
<FilesMatch "\.(jpg|jpeg|png|gif)$">
ErrorDocument 404 "/no_picture.png"
</FilesMatch>
Questions connexes
- 1. .htaccess rediriger si le fichier n'existe pas
- 2. fichier .htaccess redirect si existe pas, le fichier distant télécharger
- 3. Visual Assist ne pas montrer parameterList correctement
- 4. Devriez-vous montrer une grille si elle est vide?
- 5. Si je remplace UIAlertView (pour montrer la barre de progression, pas d'exclusion), sera-t-il rejeté?
- 6. Directives .htaccess pour * pas * rediriger certaines URL
- 7. .htaccess! -f règle ne fonctionne pas
- 8. ASP.net Listview EditTemplate Options de Cacher/Montrer par Coche
- 9. Comment puis-je vérifier .htaccess si un nouveau fichier existe?
- 10. .htaccess pour réécrire l'url
- 11. htaccess demande de renvoi si adresse IP interne
- 12. php to htaccess réécriture - rediriger si non $ _POST données
- 13. double C# au lieu de montrer par des virgules période
- 14. comment masquer l'URL avec htaccess?
- 15. Trouver un projet par Permalink, 404 si pas trouvé
- 16. Haskell: Montrer foiré?
- 17. Saisie d'un répertoire protégé par .htaccess à l'aide d'un formulaire
- 18. Apache mod_rewrite seulement si la requête ne commence pas par '/ THEMES /'
- 19. Visual Web Developer - jQuery IntelliSense ne pas montrer
- 20. Règles de réécriture htaccess complexes - par où commencer?
- 21. Apache htaccess sur Win2k n'est pas en cours de traitement
- 22. Apache modrewrite htaccess problème
- 23. montrer les paroles sur ubuntu
- 24. Obtention du nom de fichier du fichier dirigé par .htaccess?
- 25. .htaccess - liste des URL à restreindre par ActiveDirectory Groupes LDAP
- 26. .htaccess ne gère pas correctement la racine du dossier
- 27. PDF montrer (aperçu)
- 28. Jquery anime cacher et montrer
- 29. Montrer l'arbre d'appel dans kcachegrind
- 30. Comment déterminez-vous si deux HashSets sont égaux (par valeur, pas par référence)?
Est-ce pas inclure HTML inexistant ou d'autres types de fichiers? – random
oui, ce serait pour tout. C'est pourquoi j'ai mentionné qu'il visait un répertoire d'images spécifique. Il pourrait être modifié pour ne correspondre qu'à certaines extensions de fichier (comme d'autres réponses l'ont fait). –