Using TIME_HOUR and TIME_MIN for htaccess RewriteCond

If you want to redirect to a different version of a file based on the time, this code is for you! Please read: Serve Alternate Content based on Time


Many webmasters use CGI scripts to do simple redirects based on the time of day. CGI incurs alot of overhead when used with SSI includes, even more so if the page is going to be called often.


Mod_rewrite provides system-variables for exactly this purpose. Using the lexicographic comparisons, we can do time-dependant redirects:

RewriteEngine On
RewriteBase /
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0700
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1900
RewriteRule ^index.html$ /
RewriteRule ^index.html$ /index.night.html

This provides content for index.html so that requests done between 7am to 7pm are considered "day", and therefore get redirected to, otherwise the page index.night.html is displayed.