12

要求された画像が存在しない場合、no_picture.png を表示したい。.htaccess で行う必要があります。どうもありがとう。

4

4 に答える 4

28
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ファイル名にリダイレクトする場合は、に変更[L]します[R]

于 2009-09-09T06:26:01.473 に答える
4

これも機能するはずです:

<FilesMatch "\.(jpg|jpeg|png|gif)$">
ErrorDocument 404 "/no_picture.png"
</FilesMatch>
于 2010-10-26T09:56:18.930 に答える
1
RewriteCond %{REQUEST_URI}  pic/(.*)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule pic/(.*)            pic/no_picture.png [L,E=STATUS:404]
于 2009-09-09T06:12:51.907 に答える
1

/ images /ディレクトリで、これを.htaccessに追加します

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule no_picture.png [L]

つまり、要求されたファイルが存在しない場合は、no_picture.pngに書き換えます。

于 2009-09-09T06:14:04.323 に答える