Using TIME_HOUR and TIME_MIN for htaccess RewriteCond

FREE THOUGHT · FREE SOFTWARE · FREE WORLD

Using TIME_HOUR and TIME_MIN for htaccess RewriteCondJanuary 6th, 2007

« .htaccess – WikipediaDebug apache log files from php »

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


Problem

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.

Solution

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$ /index.day.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 index.day.html, otherwise the page index.night.html is displayed.

.htaccess,apache-htaccess,htacess,htacces,htaccess,apache,rewriterule,rewriteengine,rewritebase,rewriterule,rewritecond,time_hour,time_min,variables

« .htaccess – WikipediaDebug apache log files from php »

Reader Comments

  1. askapache.com commenter Gnarlodious says:

    time-dependant is spelled wrong. I looked for an “Edit” button but found none. Thanks for the hint on time-conditional rewrites.

  2. Phil says:

    That should be “>19 [OR]“, else /night/ will never get used, because it’s impossible for a TIME_HOUR to be BOTH greater than 19 AND less than 02.

RSS feed for comments on this post.TrackBack URL

Add Your Opinion

Skip to Comments
103

It's very simple -
you read the protocol
and write the code.
-Bill Joy

HTML | DCMI | GRDDL | XOXO | XDMP | XFN | DOM | XML | XHTML 1.1 Strict | CSS 2.1 | W3C | WAI | DISA | ICSI | GIAC | SANS RR | GHOST

Authority: 110

↑ TOP

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License, just credit with a link.
This site is not supported or endorsed by The Apache Software Foundation (ASF). All software and documentation produced by The ASF is licensed according to these terms. "Apache" is a trademark of The ASF.

Site Map | Contact Webmaster | Glossary | License and Disclaimer | Terms of Service