mod_url README document

# $Id: README,v 1.3 2007/11/09 09:16:24 oops Exp $

mod_url is Apache module that fix mismatched URL encoding between server and client.
This module is operated on Apache 1.x. For apache2 see also follow URL:
http://modurl.kldp.net/ or http://kldp.net/projects/modurl/

1. Overview

   working follows. if your configuration as follows..

   SERVER_ENCODING EUC-KR
   CLIENT_ENCODING UTF-8

   1. Main server
      http://modurl.kldp.net/%ED%95%9C%EA%B8%80/info.php

      replace internal path of r->uri, r->unparsed_uri and r->parsed_uri.path
      On filename translation hook, replace %ED%95%9C%EA%B8%80 to
      %C7%D1%B1%DB.

   2. Virtual Host
      http://modurl.kldp.net/%ED%95%9C%EA%B8%80/info.php 

      http://modurl.kldp.net/%ED%95%9C%EA%B8%80/info.php

      replace internal path of r->uri, r->unparsed_uri and r->parsed_uri.path
      On filename translation hook, replace %ED%95%9C%EA%B8%80 to
      %C7%D1%B1%DB.

   3. Virtual Host Alias module
      use 304 Redirection on fixups hook

   4. UserDir
      http://modurl.kldp.net/%ED%95%9C%EA%B8%80/info.php 

      http://modurl.kldp.net/%ED%95%9C%EA%B8%80/info.php

      replace internal path of r->uri, r->unparsed_uri and r->parsed_uri.path
      On filename translation hook, replace %ED%95%9C%EA%B8%80 to
      %C7%D1%B1%DB.

      If apache server hasn't mod_userdir module, use 304 Redirection
      on fixups hook

2. Compile

   2.1 DSO build
       shell> apxs -i -c mod_url.c

       or do follow command on mod_url source directory

       shell> make

   2.2 static build
       shell> cp mod_url.c /path/apache-src/src/modules/extra/
       shell> cd /path/apache-src
       shell> ./configure .... --add-module=mod_url.c ...

   2.3 Warn!
       mod_url has dependency of mod_userdir. If your apache don't include
       mod_userdir module, you can build with follows.

       2.3.1 DOS build
           shell> apxs -i -c -DURL_NOUSERDIR mod_url.c

           or do follow command on mod_url source directory

           shell> make EXTRA_CFLAGS="-DURL_NOUSERDIR"

       2.3.2 static build
           shell> EXTRA_CFLAGS="-DURL_NOUSERDIR" ./configure ... --add-module=mod_url.c ..

3. Usage

   1. Edit your conf/httpd.conf file, and add a LoadModule line:

      LoadModule  redurl_module    modules/mod_url.so

      If you built with no URL_NOUSERDIR build constant, be careful after load
      mod_userdir then, load mod_url.

      LoadModule  userdir_module   modules/mod_userdir.so
      LoadModule  redurl_module    modules/mod_url.so

   2. Activate the mod_url and set encoding variables properly:

      <IfModule mod_url.c>
          CheckURL On
          ServerEncoding EUC-KR
          ClientEncoding UTF-8
      </IfModule>

   3. support per directory config

      <Directory /path/some>
          <IfModule mod_url.c>
              CheckURL Off
          </IfModule>
      </Directory>

