The images have to be accessible somehow: Just to clarify, you said:
- The DocumentRoot is "/mnt/data/pawebdata/docs"
- The images are located in "/mnt/data/pawebdata/images"

How does the browser ever load any image? Is there an alias directive somewhere in the configuration?

Can you put the image at /mnt/data/pawebdata/docs/images/sketches/no_sketch.jpg and see if it works?

You could try an external redirect instead, but I haven't tested that myself.
I recommend making it a temporary redirect (302) rather than permanent (301):

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(gif|jpe?g|png|bmp)$ /images/sketches/no_sketch.jpg [NC,L,R=302] 

- Y

On Tue, May 3, 2016 at 11:16 AM, Julie Kurpa <> wrote:
Thanks Yehuda,

I tried your suggested code already and have just retried it.   The behavior is that all jpg's are now not showing at all.

>From what I tell from the rewrite.log, it is pasting the DocumentRoot path in front of the path to the "no_sketch.jpg" for all JPG references.

The DocumentRoot is "/mnt/data/pawebdata/docs"

Here's what the log shows is being used for the path to "no_sketch.jpg"


Note that I did not configure this Apache environment.  I'm coming in (inexperienced...but not dumb) with the assignment to show "no_sketch.jpg" for missing JPGs in the /image/sketches path and having to work with someone else's configuration.
So I'll try to give the best information I can.

Julie Kurpa
Sr. Systems Programmer
  119 W. Indiana Ave
  DeLand, FL  32720
  Office:  (386) 736-5960 x12875

>>> Yehuda Katz <> 5/3/2016 11:02 AM >>>
On Tue, May 3, 2016 at 10:52 AM, Julie Kurpa <> wrote:

> The sketches themselves are JPGs located within a directory on the Linux
> server.
> If the JPG for a property is found to be missing, I would like to show an
> alternate JPG called "no_sketch.jpg".

I've tried a gazillion variations of the RewriteRule and am now trying the
> Redirect.
> I'm completely at a loss.    Here is what I have in my
> vhosts.d/non-ssl.conf file for this step:
> <IfModule mod_rewrite.c>
>  RewriteEngine on
>  RewriteLog /var/log/apache2/rewrite.log
>  RewriteLogLevel 4
>  RewriteCond %{REQUEST_FILENAME} !-f
>  RewriteCond %{REQUEST_URI} "\.(gif|jpg|jpeg|png)$"
>  Redirect  .*
> </IfModule>

You need to use RewriteRule, Redirect has nothing to do with RewriteCond.
Something like the following should be enough:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(gif|jpe?g|png|bmp)$ /images/sketches/no_sketch.jpg [NC,L]

I also usually recommend not using the <IfModule> directive. If you want
this to work, you probably want the server to show an error if the rewrite
module isn't loaded rather than ignore the configuration.

- Y

To unsubscribe, e-mail:
For additional commands, e-mail: