Page is a not externally linkable
lucy24 - 12:32 pm on Jul 18, 2012 (gmt 0)
I'll be darned.
Any valid HTTP response status code may be specified, using the syntax [R=305], with a 302 status code being used by default if none is specified. The status code specified need not necessarily be a redirect (3xx) status code. However, if a status code is outside the redirect range (300-399) then the substitution string is dropped entirely, and rewriting is stopped as if the L were used.
Shouldn't be so surprised; mod_alias (Redirect by that name) works in much the same way. Redirect 410 and so on.
But the whole Rule seems backward. "If it's Sunday (Cond 1) and the request is for the 503 page (Cond 2), then stop here and do nothing more (Rule 1). If either condition is not met, then proceed to the next Rule, which slaps on a 503." What happens if it's not Sunday?
Seems like it ought to be
RewriteCond %{TIME_WDAY} 0
RewriteRule \.shtml$ - [R=503,L]
No mention of the 503 page because it doesn't end in shtml. No fallback Rule, because this one serves up the 503 when needed; otherwise it's business as usual. Technically the L flag is not necessary with a 503, but it does no harm and is a good habit.
You said at the outset that you only needed the rule to apply to shtml pages, because your server takes its Christianity seriously. So there's no need to backstep and evaluate Conditions if the request is for anything else, on any day of the week.