Apache HTTP Server (usually just Apache) has been the most popular web server in the Internet for more than a decade, with millions of installations serving up a huge portion of the World Wide Web. In 2009 it became the first web server to surpass the 100 million web site milestone. As of july 2009 Apache served over 47% of all websites and over 66% of the million busiest. Knowing that Apache is this popular makes it worth spending a some time learning the basics. If you’re an IT professional working with web development it is almost certain that you will need, if not now then later.

Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. The application is available for a wide variety of operating systems, including Unix, GNU, FreeBSD, Linux, Solaris, Novell NetWare, Mac OS X, Microsoft Windows, etc.

Apache supports a variety of features, many implemented as compiled modules (mod_xxx) which extend the core functionality. Through modules Apache support:

  • Common programming languages like Perl, Python, Tcl, and PHP.
  • Security through popular authentication modules like mod_access, mod_auth, mod_digest, and mod_auth_digest
  • SSL and TLS support (mod_ssl)
  • Proxy using the mod_proxy module (It implements proxying capability for FTP, CONNECT (for SSL), HTTP/0.9, HTTP/1.0, and (as of Apache 1.3.23) HTTP/1.1.)
  • Custom log files (mod_log_config), and filtering support (mod_include and mod_ext_filter).
  • URL rewriter (also known as a rewrite engine, implemented under mod_rewrite). This is the module we will take a closer look at here.

This article will show you some really useful Apache Rewrite Techniques and easy to digest introduction to Apache basics. You may want to get yourself a cheat sheet before going on: Apache Mod_Rewrite Cheat Sheet

Read the rest of this entry »