当前位置:首页 > PHP教程 > Apach > 列表

apache 伪静态的配置方法

发布:smiling 来源: PHP粉丝网  添加日期:2013-11-23 23:29:42 浏览: 评论:0 

本文章来告诉你如何把php文件利用apache的 rewrite_module功能实现文件 伪静态的配置方法,有需要参考的同学可以看看本文章。

一 打开 Apache 的配置文件 httpd.conf 。

二 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉

三 在 httpd.conf中添加:

  1. <IfModule mod_rewrite.c> 
  2. RewriteEngine On 
  3. #RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+.html 
  4. RewriteRule ^(.*?(?:index|dispbbs))-([-0-9]+).html$ $1.php?__is_apache_rewrite=1&__rewrite_arg=$2 
  5. </IfModule> 
四 要实现asp帖子URL到php帖子的映射,在第三步的<IfModule mod_rewrite.c>和</IfModule>之间添加:
 
  1. RewriteMap tolowercase int:tolower 
  2. RewriteCond %{QUERY_STRING} (?:boardid|page|id|replyid|star|skin)=d+ [NC] 
  3. RewriteRule ^(.*(?:index|dispbbs)).asp$ $1.php?${tolowercase:%{QUERY_STRING}}&__is_apache_rewrite=1 
五 保存httpd.conf并重启Apache。

六、mod_rewrite 简介

Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现伪静态,拟目录,域名跳转,防止盗链等等

七、mod_rewrite 规则的使用

  1. RewriteEngine on  
  2. RewriteCond %{HTTP_HOST} !^www.phpfensi.com [NC]  
  3. RewriteRule ^/(.*) http://www.phpfensi.com/ [L] 
  4. --------  
  5. RewriteEngine on  
  6. RewriteRule ^/test([0-9]*).html$ /test.php?id=$1  
  7. RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R] 
八、mod_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

Tags: apache 静态 配置

分享到: