表示するページの一部の画像がない場合、mod_rewriteで404を返してみる
RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*(\.jpg|\.jpeg|\.png)$ #拡張子が画像の場合
RewriteCond %{REQUEST_FILENAME} !-f #ファイルが存在しない場合
RewriteRule ^.*$ - [NC,R=404,L]
オプション | |
---|---|
NC | 大文字小文字を区別しない |
R=404 | ステータスコードを404に変更 |
L | 条件にマッチしてURLを書き換えた場合、ここで書き換えを終了する(これより後の条件は無視される) |
-
RewriteCond
の条件は正規表現で指定する -
RewriteCond
は複数行書いた場合、AND の条件になる - OR の条件にしたい場合は、
RewriteCond %{REQUEST_URI} ^.*(\.jpg|\.jpeg|\.png)$ [OR]
のように最後に[OR]
を付ける - オプションはカンマ区切りで複数指定可能