中心思想

本文将围绕 .htacess文件详解 来给读者提供优质内容

  文件有两个作用,一个是进行301重定向;另一个就是写URL的重写规则(即伪静态设置)
  
  一、 301重定向
  
  上述规则是将AAA.com 301 到 www.AAA.com,符号的含义相信不必再做解释了。
  
  这个规则是将域名下搜有a/index.html 301 到 a/ 的URL下。
  
  二、伪静态
  
  URL的重写规则,主要是用于做伪静态。重写规则是放在.htaccess文件下或Apache的配置文件(httpd.conf或sites_conf目录里的一些特定的网站配置文件),此处主要讨论.htacess文件(其实都差不多)
  
  是代表开启rewrite,而RewriteBase / 是表示所有规则前都存在“/”,写了这条之后,你后面所有规则的开头,只需要写“^”就后了,但要注意的是,此规则仅在.htacess文件中被支持,如果是服务器配置文件,此规则会被忽略、不必写。
  
  在写规则前,先了解一下重写中设计到的特殊字符的含义。
  
  *代表前面0或更多个字符
  
  +代表前面1或更多个字符
  
  ?代表前面0或1个字符
  
  ^代表字符串的开始位置
  
  $代表字符串结束的位置
  
  。为通配符,代表任何字符
  
  \将跟在其后的字符还原为字符本身,例如“\+”代表的就是“+”,而非其它意思。
  
  ^在方括号里表示非的意思。例如[^.]代表非通配符。
  
  那么假如我们希望将“http://www.AAA.com/b.php?id=1″此类URL伪静态为“http://www.AAA.com/b/1″的形式,则规则如下:
  
  上面的例子中,^表示域名后来的URL的开始,$表示字符串结束,也就是域名后面的URL结束。[0-9]表示一个数字,因为只要URL存在,其必然存在一个id数字。紧接其后的+表示表示出现1个或多个数字。[0-9]+连在一起,表示字符以数字形式出现,数字范围为0-9,出现次数为1或多次。$表示字符串结束,?$表示在根域名后到域名结束,有0或1个字符。$1表示存在内存中的内容,也就是说第一个圆括号中的内容。[L]表示如果规则匹配就停止,否则需要继续运行剩下的规则,通常这个没必要深究。

猜你喜欢

热门文章

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权, 不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 995315907@qq.com举报,一经 查实,本站将立刻删除。