apache服务器伪静态教程.doc_第1页
apache服务器伪静态教程.doc_第2页
apache服务器伪静态教程.doc_第3页
apache服务器伪静态教程.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

apache服务器伪静态教程 导语:虽然网上有很多教程,不过发现大部分都是抄袭一个人的,一点都不全,所以写了一个简单的易于理解的教程,欢迎参考! 我学习.htaess是从目录保护开始的,这个也比较简单,网上也有一些器可以选择,这儿就不说了,教程从绑定域名到子目录开始,网上也有教程,大部分都是抄袭一个人的,我在这儿解说一下,教程写法是这样的: RewriteEngineOn RewriteCond%_HOST(.)?xxx.$ RewriteCond%REQUEST_URI!/blog/ RewriteCond%REQUEST_FILENAME!-f RewriteCond%REQUEST_FILENAME!-d RewriteRule(.*)$/blog/$1 #没有输入文件名的默认到到首页 RewriteCond%_HOST(.)?xxx.$ RewriteRule(/)?$blog/index.phpL 下面我开始解说一下上面的意思: 【RewriteEngineOn】表示重写引擎开,关闭off,作用就是方便的开启或关闭以下的语句,这样就不需要一条一条的注释语句了。 【RewriteCond%_HOST(.)?xxx.$】 这是重写条件,前面%_HOST表示当前访问的网址,只是指前缀部分,格式是.xxx.不包括“”和“/”,表示字符串开始,$表示字符串结尾,.表示转义的.,如果不转义也行,推荐转义,防止有些服务器不支持,?表示前面括号.出现0次或1次,这句规则的意思就是如果访问的网址是xxx.或者.xxx.就执行以下的语句,不符合就跳过。 【RewriteCond%REQUEST_URI!/blog/】 也是重写条件,%REQUEST_URI表示访问的相对地址,就是相对根目录的地址,就是域名/后面的成分,格式上包括最前面的“/”,!表示非,这句语句表示访问的地址不以/blog/开头,只是开头,没有结尾$ 【RewriteCond%REQUEST_FILENAME!-f】 【RewriteCond%REQUEST_FILENAME!-d】 这两句语句的意思是请求的文件或路径是不存在的,如果文件或路径存在将返回已经存在的文件或路径 【RewriteRule(.*)$/blog/$1】重写规则,最重要的部分,意思是当上面的RewriteCond条件都满足的时候,将会执行此重写规则,(.*)$是一个正则表达的匹配,匹配的是当前请求的URL,(.*)$意思是匹配当前URL任意字符,.表示任意单个字符,*表示匹配0次或N次(N0),后面/blog/$1是重写成分,意思是将前面匹配的字符重写成/blog/$1,这个$1表示反向匹配,引用的是前面第一个圆括号的成分,即(.*)$中的.*,其实这儿将会出现一个问题,后面讨论。 【RewriteCond%_HOST(.)?xxx.$】 【RewriteRule(/)?$blog/index.phpL】 这两句的意思是指请求的host地址是.xxx.是,如果地址的结尾只有0个或者1个“/”时,将会重写到子目录下的主页,我猜想这主要因为重写后的地址是不能自动寻找主页的,需要自己指定。 现在说说出现的问题,RewriteRule(.*)$/blog/$1前部分(.*)$将会匹配当前请求的url,例如:请求网址是.xxx./a.html,到底是匹配整个.xxx./a.html,还是只匹配/a.html即反斜杠后面的成分,还是只匹配a.html。 答案是:根据RewriteBase规则规定,如果rewritebase为/,将会匹配a.html,不带前面的反斜杠,所以上条语句应该写成RewriteRule(.*)$blog/$1(不带/),不过实际应用上带上前面的反斜杠,也可以用,可能带不带都行。现在问题出来了,如果不设置rewritebase为/,将会匹配整个网址.xxx./a.html,显然这是错误的,所以应该添加这条: RewiteBase/ 还有一个问题是,不能保证每个人输入的网址都是小写的,如果输入大写的呢,linux系统是区分大小写的,所以应该在RewriteCond后添加NC忽略大小写的。 至此,完整的语句应该是: #start# RewriteEngineOn RewiteBase/ RewriteCond%_HOST(.)?xxx.$NC RewriteCond%REQUEST_URI!/blog/ RewriteCond%REQUEST_FILENAME!-f RewriteCond%REQUEST_FILENAME!-d R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论