summaryrefslogtreecommitdiff
path: root/docs/manual/urlmapping.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/urlmapping.html')
-rwxr-xr-xdocs/manual/urlmapping.html253
1 files changed, 0 insertions, 253 deletions
diff --git a/docs/manual/urlmapping.html b/docs/manual/urlmapping.html
deleted file mode 100755
index 47e4873162..0000000000
--- a/docs/manual/urlmapping.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<TITLE>Mapping URLs to Filesystem Locations - Apache HTTP Server</TITLE>
-</HEAD>
-
-<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-<BODY
- BGCOLOR="#FFFFFF"
- TEXT="#000000"
- LINK="#0000FF"
- VLINK="#000080"
- ALINK="#FF0000"
->
-<!--#include virtual="header.html" -->
-<h1 align="center">Mapping URLs to Filesystem Locations</h1>
-
-<p>This document explains the method in which Apache determines
-what filesystem location to serve a file from based on the
-URL of a request.</p>
-
-<ul>
-<li><a href="#documentroot">DocumentRoot</a></li>
-<li><a href="#outside">Files Outside the DocumentRoot</a></li>
-<li><a href="#user">User Directories</a></li>
-<li><a href="#redirect">URL Redirection</a></li>
-<li><a href="#rewrite">Rewrite Engine</a></li>
-<li><a href="#notfound">File Not Found</a></li>
-</ul>
-
-<hr>
-
-<table border="1">
-<tr><td valign="top">
-<strong>Related Modules</strong><br><br>
-
-<a href="mod/mod_alias.html">mod_alias</a><br>
-<a href="mod/mod_rewrite.html">mod_rewrite</a><br>
-<a href="mod/mod_userdir.html">mod_userdir</a><br>
-<a href="mod/mod_speling.html">mod_speling</a><br>
-<a href="mod/mod_vhost_alias.html">mod_vhost_alias</a><br>
-
-</td><td valign="top">
-<strong>Related Directives</strong><br><br>
-
-<A HREF="mod/mod_alias.html#alias">Alias</A><br>
-<A HREF="mod/mod_alias.html#aliasmatch">AliasMatch</A><br>
-<A HREF="mod/mod_speling.html#checkspelling">CheckSpelling</A><br>
-<A HREF="mod/core.html#documentroot">DocumentRoot</A><br>
-<A HREF="mod/core.html#errordocument">ErrorDocument</A><br>
-<a href="mod/core.html#options">Options</a><br>
-<A HREF="mod/mod_alias.html#redirect">Redirect</A><br>
-<A HREF="mod/mod_alias.html#redirectmatch">RedirectMatch</A><br>
-<A HREF="mod/mod_rewrite.html#RewriteCond">RewriteCond</A><br>
-<A HREF="mod/mod_rewrite.html#RewriteRule">RewriteRule</A><br>
-<A HREF="mod/mod_alias.html#scriptalias">ScriptAlias</A><br>
-<A HREF="mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</A><br>
-<A HREF="mod/mod_userdir.html#userdir">UserDir</A><br>
-
-</td></tr></table>
-
-<h2><a name="documentroot">DocumentRoot</a></h2>
-
-<p>In deciding what file to serve for a given request, Apache's
-default behavior is to take the URL-Path for the request (the part of
-the URL following the first single slash) and add it to the end of the
-<a href="mod/core.html#documentroot">DocumentRoot</a> specified in
-your configuration files. Therefore, the files and directories
-underneath the <code>DocumentRoot</code> make up the basic document
-tree which will be visible from the web.</p>
-
-<p>Apache is also capable of <a href="vhosts/">Virtual Hosting</a>,
-where the server receives requests for more than one host. In this
-case, a different <code>DocumentRoot</code> can be specified for each
-virtual host, or alternatively, the directives provided by the module
-<a href="mod/mod_vhost_alias.html">mod_vhost_alias</a> can be used to
-dynamically determine the appropriate place from which to serve
-content based on the requested IP address or hostname.</p>
-
-<h2><a name="outside">Files Outside the DocumentRoot</a></h2>
-
-<p>There are frequently circumstances where it is necessary to allow
-web access to parts of the filesystem which are not strictly
-underneath the <a href="mod/core.html#documentroot">DocumentRoot</a>.
-Apache offers several different ways to accomplish this. On Unix
-systems, symbolic links can be used to bring other parts of the
-filesystem under the <code>DocumentRoot</code>. For security reasons,
-symbolic links will only be followed if the <a
-href="mod/core.html#options">Options</a> setting for the relevant
-directory includes <code>FollowSymLinks</code> or
-<code>SymLinksIfOwnerMatch</code>.</p>
-
-<p>Alternatively, the <a href="mod/mod_alias.html#alias">Alias</a>
-directive can be used to map any part of the filesystem into the web
-space. For example, with</p>
-
-<blockquote><code>Alias /docs /var/web/
-</blockquote></code>
-
-<p>the URL <code>http://www.example.com/docs/dir/file.html</code> will
-be served from <code>/var/web/dir/file.html</code>. The <a
-href="mod/mod_alias.html#scriptalias">ScriptAlias</a> directive works
-the same way, with the additional effect that all content located at
-the target path is treated as CGI scripts.</p>
-
-<p>For situations where additional flexibility is required, the <a
-href="mod/mod_alias.html#aliasmatch">AliasMatch</a> and <a
-href="mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a>
-directives can do powerful <a
-href="misc/FAQ.html#regex">regular-expression</a> based matching and
-substitution. For example,</p>
-
-<blockquote><code> ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*)
-/home/$1/cgi-bin/$2 </code></blockquote>
-
-<p>will map a request to
-<code>http://example.com/~user/cgi-bin/script.cgi</code> to the path
-<code>/home/user/cgi-bin/script.cgi</code> and will treat the
-resulting file as a CGI script.</p>
-
-<h2><a name="user">User Directories</a></h2>
-
-<p>Traditionally on Unix systems, the home directory of a particular
-<em>user</em> can be referred to as <code>~user/</code>. The module
-<a href="mod/mod_userdir.html">mod_userdir</a> extends this idea to
-the web by allowing files under each user's home directory to be
-accessed using URLs such as the following.</p>
-
-<blockquote><code>http://www.example.com/~user/file.html</code></blockquote>
-
-<p>For security reasons, it would be inappropriate to give direct
-access to a user's home directory from the web. Therefore, the <a
-href="mod/mod_userdir.html#userdir">UserDir</a> directive is used to
-specify a directory underneath the user's home directory where web
-files will be located. Using the default setting of <code>Userdir
-public_html</code>, the above URL would look for a file at a directory
-like <code>/home/user/public_html/file.html</code> where the
-</code>/home/user/</code> is the user's home directory as specified in
-<code>/etc/passwd</code>.</p>
-
-<p>There are also several other forms of the <code>Userdir</code>
-directive which can be used on systems where <code>/etc/passwd</code>
-cannot be used to find the location of the home directory.</p>
-
-<p>Some people find the "~" symbol (which is often encoded on the web
-as <code>%7e</code>) to be awkward and prefer to use an alternate
-string to represent user directories. This functionality is not
-supported by mod_userdir. However, if users' home directories are
-structured in a regular way, then it is possible to use the <a
-href="mod/mod_alias.html#aliasmatch">AliasMatch</a> directive to
-achieve the desired effect. For example, to make
-<code>http://www.example.com/upages/user/file.html</code> map to
-<code>/home/user/public_html/file.html</code>, the following
-<code>AliasMatch</code> directive can be used.</p>
-
-<blockquote><code>
-AliasMatch ^/upages/([^/]*)/?(.*) /home/$1/public_html/$2
-</code></blockquote>
-
-<h2><a name="redirect">URL Redirection</a></h2>
-
-<p>The configuration directives discussed in the above sections are
-used to tell Apache to get content from a specific place in the
-filesystem and return it to the client. Sometimes, it is desirable
-instead to inform the client that the content being requested is
-located at an different URL, and instruct the client to make a new
-request with the new URL. This is referred to as <em>redirection</em>
-and is implemented by the <a
-href="mod/mod_alias.html#redirect">Redirect</a> directive. For example,
-if the contents of the directory <code>/foo/</code> under the
-<code>DocumentRoot</code> have been moved to the new directory
-<code>/bar/</code>, clients can instructed to request the content at
-the new location as follows.</p>
-
-<blockquote><code>Redirect permanent
-/foo/ http://www.example.com/bar/</code></blockquote>
-
-<p>This will redirect any URL-Path starting in <code>/foo/</code> to
-the same URL path on the <code>www.example.com</code> server with
-<code>/bar/</code> substituted for <code>/foo/</code>. Note that
-clients can be redirected to any server, not only the origin
-server.</p>
-
-<p>Apache also provides a <a
-href="mod/mod_alias.html#redirectmatch">RedirectMatch</a> directive
-which can be used for more complicated rewriting problems. For
-example, to redirect requests for the site home page to a different
-site, but leave all other requests alone, the following configuration
-can be used.</p>
-
-<blockquote><code>
-RedirectMatch permanent ^/$ http://www.example.com/startpage.html
-</code></blockquote>
-
-<p>Alternatively, to temporarily redirect all pages on a site to one
-particular page, the following configuration is useful.</p>
-
-<blockquote><code>
-RedirectMatch temp .* http://www.example.com/startpage.html
-</code></blockquote>
-
-<h2><a name="rewrite">Rewriting Engine</a></h2>
-
-<p>When even more powerful substitution is required, the rewriting
-engine provided by <a href="mod/mod_rewrite.html">mod_rewrite</a> can
-be useful. The directives provided by this module can use
-characteristics of the request such as browser type or source IP
-address in deciding from where to serve content. In addition,
-mod_rewrite can use external database files or programs to determine
-how to handle a request. Many practical examples employing
-mod_rewrite are discussed in the <a href="misc/rewriteguide.html">URL
-Rewriting Guide</a>.</p>
-
-<h2><a name="notfound">File Not Found</a></h2>
-
-<p>Inevitably, URLs will be requested for which no matching file can
-be found in the filesystem. This can happen for several reasons. In
-some cases, it can be a result of moving documents from one location
-to another. In this case, it is best to use <a href="#redirect">URL
-redirection</a> to inform clients of the new location of the resource.
-In this way, you can assure that old bookmarks and links will continue
-to work, even though the resource is at a new location.</p>
-
-<p>Another common cause of "File Not Found" errors is accidental
-mistyping of URLs, either directly in the browser, or in HTML links.
-Apache provides the module <a href="mod/mod_speling">mod_speling</a>
-(sic) to help with this problem. When this module is activated, it
-will intercept "File Not Found" errors and look for a resource with a
-similar filename. If one such file is found, mod_speling will send an
-HTTP redirect to the client informing it of the correct location. If
-several "close" files are found, a list of available alternatives will
-be presented to the client.</p>
-
-<p>An especially useful feature of mod_speling, is that it will
-compare filenames without respect to case. This can be useful for
-systems where users are unaware of the case-sensitive nature of URLs
-and the unix filesystem. However, using mod_speling for anything more
-than the occasional URL correction can lead to additional load on the
-server, since each "incorrect" request is followed by a URL
-redirection and a new request from the client.</p>
-
-<p>If all attempts to locate the content fail, Apache returns an error
-page with HTTP status code 404 (file not found). The appearance of
-this page is controlled with the <a
-href="mod/core.html#errordocument">ErrorDocument</a> directive and can
-be customized in a flexible manner as discussed in the <a
-href="custom-error.html">Custom error responses</a> and <a
-href="misc/custom_errordocs.html">International Server Error
-Responses</a> documents.</p>
-
-<!--#include virtual="footer.html" -->
-</BODY>
-</HTML>