php 之apache rewrite伪静态的简单配置和使用

      1、为什么要使用伪静态:

真正的静态页面空间储存量大,进行删除或者更新这些html文件时可造成大量文件碎片,破坏磁盘坏道,

动态页面虽然可以实时更新,但是有时会导致死循环,对搜索引擎不友好,而伪静态却不会出现这种情况。

伪静态可以更好的缓解服务器的压力,增强搜索引擎对页面的收录;

 

      2、伪静态可以做什么:

rewrite 主要的功能就是实现url跳转和隐藏真实地址,可以实现虚拟的静态,虚拟的目录,域名跳转,隐藏后台真实地址等,基于perl语言的正则表达式规范。
一个普通的动态链接可以通过rewrite 重写为.html  的链接
/article.php?id=23
可以重写为:/article_23.html
也可重写为目录的形式:/article_23/
 
 
      3、apache开启rewrite重写:
打开apache的配置文件(httpd.conf),搜索 # LoadModule rewrite_module modules/mod_rewrite.so 将前面的“#”去掉,这样就可以直接在httpd.conf中写rewrite规则了!

如果想在.htaccess文件中重写规则,可以 在httpd.conf文件中搜索AllowOverride None 修改为AllowOverride All  这样就可以在网站根目录建立.htaccess文件写rewrite规则了!

 

      4、mod_rewrite 规则的使用:

RewriteEngine on   //启动rewrite引擎
RewriteCond %{HTTP_HOST} !^www.test.com  [NC]       //如果访问网址不是www.test.com   后面的[NC]  N重新从第一条规则开始运行重写过程 C 与下一条相关联
RewriteRule   ^/(.*) http://www.test.com/ [L]         //跳转到这个地址

 

RewriteEngine on       
RewriteRule ^/article_([0-9]*).html$ /article.php?id=$1      //将伪静态 地址/article_XX.html 转换为文件加参数的格式
RewriteRule ^/article_([0-9]*)/$ /article.php?id=$1 [R]       //将伪静态 地址/article_XX/ 转换为文件加参数的格式

 

      5、mod_rewrite 规则修正符  修正符 即 Rewrite 语句后面 “[]” 里面的内容

1) R 强制外部重定向
2) F 禁用URL,返回403HTTP状态码。
3) G 强制URL为GONE,返回410HTTP状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联
如果规则匹配则正常处理,以下修正符无效
8) T=MIME-type(force MIME type) 强制MIME类型
9) NS  只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符    \%3d$1  等价于 =$1

 

求不拍砖~~~~~!

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值