⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 urlmapping.html

📁 这个是我在web培训时老师提供的手册
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="Apache, 中文, 手册, 中文版, 中文手册, 中文版手册, 参考手册, 中文参考手册, 金步国" />
<meta name="description" content="Apache 2.2 中文版参考手册" />
<meta name="author" content="金步国" />
<link href="./style/css/manual-zip.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-zip-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<title>从URL到文件系统的映射 - Apache 2.2 中文版参考手册</title>
</head>
<body id="manual-page">
<div id="page-header"><p class="menu"><a href="./mod/index.html">模块索引</a> | <a href="./mod/directives.html">指令索引</a> | <a href="./faq/index.html">常见问题</a> | <a href="./glossary.html">词汇表</a> | <a href="./sitemap.html">站点导航</a></p><p class="apache">Apache HTTP Server 版本2.2</p><img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./index.html"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path"><a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">文档</a> &gt; <a href="./index.html">版本2.2</a></div>

<div id="translation-info">   <a href="./translator_announcement.html#thanks">致谢</a> | <a href="./translator_announcement.html#announcement">译者声明</a> | 本篇译者:<a href="mailto:&#099;sfr&#0097;nk&#0064;&#099;itiz&#046;n&#0101;t">金步国</a> | 本篇译稿最后更新:2006年1月7日 | <a href="./translator_announcement.html#last_new">获取最新版本</a></div>
<div id="page-content"><div id="preamble"><h1>从URL到文件系统的映射</h1>


    <p>本文阐述Apache如何根据URL地址定位到文件在文件系统中的位置。</p>
  </div>
	<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="related" id="related">相关模块和指令</a></h2>

<table border="1" cellpadding="0" cellspacing="0" bordercolor="#AAAAAA" class="related">
<tr><th>相关模块</th><th>相关指令</th></tr>
<tr><td><ul><li><code class="module"><a href="./mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritematch">RewriteMatch</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></td></tr>
</table>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="documentroot" id="documentroot">DocumentRoot</a></h2>

    <p>Apache根据请求定位文件的默认操作是:取出URL路径(即URL中主机名和端口后面的部分)附加到由<code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>指定的文件系统路径后面。这样就组成了在网上所看见的基本文件树结构。</p>

    <p>如果服务器有多个<a href="vhosts/index.html">虚拟主机</a>,则Apache会使用下述两种方法之一:使用每个虚拟主机自己的<code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>来组成文件系统路径,或者使用由<code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code>提供的指令基于IP地址或主机名动态地定位文件。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="outside" id="outside">DocumentRoot以外的文件</a></h2>

    <p>实际应用中,经常有必要允许网络对<code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>以外的文件进行访问。对此,Apache提供了多种方法,在Unix系统中,可以在文件系统的<code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>目录下放置符号连接以访问其外部文件,考虑到安全问题,这种方法仅在相应目录的<code class="directive"><a href="./mod/core.html#options">Options</a></code>指令中设置了<code>FollowSymLinks</code>或<code>SymLinksIfOwnerMatch</code>时才有效。</p>

    <p>另外,使用<code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code>指令可以将文件系统的任何部分映射到网络空间中。例如,这个命令</p>

<div class="example"><p><code>Alias /docs /var/web</code></p></div>

    <p>可以把URL <code>http://www.example.com/docs/dir/file.html</code>映射为<code>/var/web/dir/file.html</code> 。<code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code>指令功能相似,而且使所有目标路径下的所有文件被视为<a class="glossarylink" href="./glossary.html#cgi" title="see glossary">CGI</a>脚本。</p>

    <p><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>和<code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code>指令可以实现基于<a class="glossarylink" href="./glossary.html#regex" title="see glossary">正则表达式</a>的匹配和替换,以提供更大的灵活性。例如:</p>

<div class="example"><p><code>ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+) /home/$1/cgi-bin/$2</code></p></div>

    <p>上述命令可以将<code>http://example.com/~user/cgi-bin/script.cgi</code> 映射到<code>/home/user/cgi-bin/script.cgi</code> ,并视之为CGI脚本。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="user" id="user">用户目录</a></h2>

    <p>在Unix系统中,一个特定用户"<em>user</em>"的主目录通常是"<code>~user/</code>"模块<code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>在网络上沿用了这个概念,允许使用URL访问位于各用户主目录下的文件,例如:</p>

<div class="example"><p><code>http://www.example.com/~user/file.html</code></p></div>

    <p>出于安全原因,不应该给予网络用户直接操作主目录的权限,而应该在用户主目录下新建一个目录,把网络文件放在这个新建的目录中,并用<code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>指令告诉服务器。缺省的用户目录设置是"<code>Userdir public_html</code>",因此,上述例子中的URL会映射到<code>/home/user/public_html/file.html</code> ,其中<code>/home/user/</code> 是<code>/etc/passwd</code>指定的用户主目录。</p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -