요청한 그림이 존재하지 않으면 no_picture.png를 보여주고 싶습니다. .htaccess로 해줘야 해. 고마워. 당신의/images/디렉토리에서그림이 존재하지 않으면 .htaccess로 no_picture.png 보여주기
11
A
답변
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]
각 줄의 의미를 분해 해 봅시다. 요청 된 파일이 괄호 ()
에서 파일 확장자의 경우
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC]
확인 확인합니다. 이 경우, 우리는 파일 이름이 파일이 아니라고 .jpg
, .jpeg
, .gif
, .png
또는 .ico
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
확인 중 하나로 끝나는 있는지 테스트하고 있으며 또한 디렉토리 아니다.
RewriteRule .*$ /no_picture.png [L]
요청한 리소스/파일이 모든 테스트를 통과하면 존재하지 않는 이미지입니다. 따라서 no_picture.png
의 이미지를 브라우저에 제공하십시오. 이렇게하면 파일 이름이 유지됩니다. 당신이 no_picture.png
파일 이름에 재 지정하려면,이 또한 작동합니다 [R]
1
RewriteCond %{REQUEST_URI} pic/(.*)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule pic/(.*) pic/no_picture.png [L,E=STATUS:404]
1
, 요청 된 파일이 존재하지 않는 경우, no_picture.png 그것을 다시 말한다 당신의 .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule no_picture.png [L]
이 추가
4
에 [L]
을 변경
<FilesMatch "\.(jpg|jpeg|png|gif)$">
ErrorDocument 404 "/no_picture.png"
</FilesMatch>
하지 존재하지 않는 HTML 또는 기타 파일 형식을 포함하는 것인가? – random
네, 그렇습니다. 그래서 특정 이미지 디렉토리를 겨냥한 것이라고 언급 한 것입니다. 특정 파일 확장명과 일치하도록 변경할 수 있습니다 (다른 답변과 마찬가지로). –