Apache_URL重写.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
URL重写简介 本篇文档是mod_rewrite参考文档的补充,阐述了使用mod_rewrite之前必须了解的基本概念。其它文档则作了更加深入的探讨。不过这篇文档对于初学者是一篇很好的入门读物。 简介 Apache的mod_rewrite是提供了强大URL操作的杀手级模块,可以实现几乎所有你梦想的URL操作,其代价是你必须接受其复杂性,因为mod_rewrite对于初学者的主要障碍就是不容易理解和运用,即使是Apache专家有时也会发掘出mod_rewrite的新用途。换句话说:你或者是打退堂鼓永不再用,或者是喜欢它并一生受用。目前存在这样一种倾向:许多初学者只是把URL重写规则当着是会变戏法的魔咒,而并未在使用中真正理解这些规则的含义。 本篇文档试图给出充分的背景知识,以便于初学者随后的理解,而不是盲目的复制和粘贴。 正则表达式 mod_rewrite使用的是Perl兼容的正则表达式语法。本文不打算详细讲解正则表达式语法,你可以到PCRE man page, Perl regular expression man page, Mastering Regular Expressions, by Jeffrey Friedl获得这些内容。 RewriteRule指令的说明部分有一个简单的正则表达式语法简介,可以去参考一下。 另外需要说明的是可以在表达式的最前面加上一个感叹号(!)表示不匹配,不过这种用法并不符合正则表达式语法。 正则表达式的反向引用能力 这是很重要的一点:一旦在Pattern或者CondPattern中使用了圆括号,就会建立内部的反向引用,可以使用$N和%N来调用(见下述),并且在Substitution和TestString中都有效。图-2说明了反向引用被转换和展开的位置。 图-2: The back-reference flow through a rule. RewriteRule basics (此部分文档尚未完成) Basic anatomy of a RewriteRule, with exhaustively annotated simple examples. Rewrite Flags (此部分文档尚未完成) Discussion of the flags to RewriteRule, and when and why one might use them. Rewrite conditions (此部分文档尚未完成) Discussion of RewriteCond, looping, and other related concepts. Rewrite maps (此部分文档尚未完成) Discussion of RewriteMap, including simple, but heavily annotated, examples. .htaccess files (此部分文档尚未完成) Discussion of the differences between rewrite rules in httpd.conf and in .htaccess files. 环境变量 此模块会跟踪两个额外的(非标准)CGI/SSI环境变量:SCRIPT_URL和SCRIPT_URI。他们包含了当前资源的逻辑网络视图,而标准CGI/SSI变量SCRIPT_NAME和SCRIPT_FILENAME包含的是物理系统视图。 注意:这些变量保持的是其最初被请求时的URI/URL,即在任何重写操作之前的URI/URL。其重要性在于他们是重写操作重写URL到物理路径名的原始依据。 示例 SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html SCRIPT_FILENAME=/u/rse/.www/index.html SCRIPT_URL=/u/rse/ SCRIPT_URI=/u/rse/ URL重写技术细节 本文探讨一些mod_rewrite和URL匹配的技术细节。 内部处理 此模块的内部处理极为复杂,但是为了使一般用户避免犯低级错误,也让管理员能充分利用其功能,在此仍然做一下说明。 API阶段 首先,你必须了解Apache是分若干阶段来处理HTTP请求的。Apache API对每个阶段都提供了一个hook程序。mod_rewrite使用两个hook程序:其一,从URL到文件名的转换hook(用在读取HTTP请求之后、授权开始之前); 其二,修正hook(用在授权阶段和读取目录级配置(.htaccess)之后、内容处理器激活之前)。 所以,Apache收到一个请求并且确定了响应主机(或虚拟主机)之后,重写引擎即开始处理服务器级配置中的

文档评论(0)

803322fw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档