186-0984-0880
 
如何利用apache重写静态页面
日期:09-29 浏览次数:19


本技巧重点介绍在apache中如何开启apache重写规则,并实例讲解了apache重写静态页面案例

 具体方法如下:
apache配置文件httpd.conf中加载:LoadModule rewrite_module modules/mod_rewrite.so

两种方法重写
先进种:
  
  RewriteEngine On
  RewriteRule ^//content/(.*)_(.*)htm$ /test.php?q=$1&a=$2
  

介绍:这种方法,比如链接文件:test.php,这样链接的页面实际请求的页面是:test.php?q=2303&a=ok.前面的content是伪装的

例子:
a.html :
  test.php
test.php :
    echo $_GET["q"];//结果是2303
  echo $_GET["a"];//结果是ok.(有一个.)
  ?>



第二种:
#这里的content就是要伪装的文件夹名称
  ForceType application/x-httpd-php


介绍:这种方法实际意义上说不是伪装content文件夹,而是让服务器解释content文件,没有拓展名的content文件.

例子:
a.html :
  test.php
有一个content的文件,没有拓展名
content :
    $fields = explode('/', $_SERVER['REQUEST_URI']);
  $id_pos = array_search('content', $fields);
  if( $id_pos !== false ){
  $c_id = $fields[ $id_pos + 1 ];
  $a_id = $fields[ $id_pos + 2 ];
  }
  if( $a_id ){
  $_GET['aid'] = $a_id;
  $_GET['cid'] = $c_id;
  require_once('showarticle.php');
  }
  ?>
test.php :
    echo $_GET['aid'];//结果是445
  echo $_GET['cid'];//结果是0
  ?>
  


下面是一些值得学习的apache重写规则:
RewriteEngine On
RewriteRule index.html$ index.php
RewriteRule ^([a-zA-Z]+)/$ index.php?en=$1
RewriteRule ^([a-zA-Z]+)$ index.php?en=$1
RewriteRule ^([0-9]+)/.html$ view.php?id=$1
RewriteRule ^([0-9]+)_([a-zA-Z0-9]+)/.html$ view.php?id=$1&user=$2

  RewriteRule ^/([0-9]+)/.htm$ /test.php?id=$1
  RewriteRule ^/newsview-([0-9]+)_([0-9]+)_([0-9]+)_([a-z]+)/.htm$ /test.php?type=$1&id=$2&page=$3&user=$4
  RewriteRule ^/test/.htm$ /test.php
  #RewriteRule ^/(.*)/.htm$ /test.php?add=$1
  RewriteRule new.html$ a.php
  RewriteRule ^/content/([a-z]+)_([0-9]+)/.html$ /a.php?who=$1&$page=$2
  RewriteRule ^/([0-9]?).html$ /a.php?who=$1


RewriteEngine On
RewriteRule index.html$ index.php
RewriteRule ^([0-9]+)/.html$ read.php?id=$1
RewriteRule ^([0-9]+)_([0-9]+)/.html$ read.php?id=$1&p=$2

RewriteRule industry.html$ info.php?type=1
RewriteRule design.html$ info.php?type=2
RewriteRule interview.html$ info.php?type=3
RewriteRule exhibition.html$ info.php?type=4
RewriteRule home.html$ info.php?type=5
RewriteRule help.html$ info.php?type=6
RewriteRule bbs.html$ info.php?type=7
RewriteRule 99cad.html$ info.php?type=8
RewriteRule recruitment.html$ info.php?type=9


RewriteRule index.html$ index.php
RewriteRule ^([0-9]+)/.html$ view.php?id=$1

RewriteRule index.html$ index.php
RewriteRule ^([0-9]+)/.html$ read.php?id=$1
RewriteRule ^([0-9]+)_([0-9]+)/.html$ read.php?id=$1&p=$2

RewriteRule industry.html$ info.php?type=1
RewriteRule design.html$ info.php?type=2
RewriteRule interview.html$ info.php?type=3
RewriteRule exhibition.html$ info.php?type=4
RewriteRule home.html$ info.php?type=5
RewriteRule help.html$ info.php?type=6
RewriteRule bbs.html$ info.php?type=7
RewriteRule d.html$ info.php?type=8
RewriteRule recruitment.html$ info.php?type=9

← 上一篇 下一篇 → 返回首页
如有意向,请联系我们的客户经理
我们会根据您的需求为你制定详细的解决方案
在线咨询 or 拨打业务热线:186-0984-0880
在线咨询
热线电话
解决方案
扫一扫

扫一扫
关注新图闻科技

全国咨询热线
186-0984-0880

返回顶部