用Apache的rewrite生成伪静态页面

  • 来源: 互联网 作者: rocket   2008-03-17/11:07
  • 我们知道,搜索引擎是偏爱静态页面的,因此,把诸如:http://www.jianglb.com/?p=123的页面改成http://www.jianglb.com/apaeche-rewrite.html显然有利于被搜索.

    但是,如果一般的直接用http://www.jianglb.com/apaeche-rewrite.html而又不存在这地址的文件,就肯定会报错文件不存在.

    这就要使用到Apache的rewrite模块,把这些URL重定向某个动态程序如index.php,当然,index.php也需要有相应的程序识别这些地址,以从数据库存取数据.

    启用rewrite,要确认apache配置文件:httpd.conf中有
    LoadModule rewrite_module libexec/mod_rewrite.so

    网站所在的目录定义了下面的内
    容:
    Options Indexes FollowSymLinks
    AllowOverride all

    网站所在目录还必须包括一个.htaccess
    内容为:
    rewriteengine on
    rewritebase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    如此则URL请求自动发送到index.php了

     
     
    我写了个正值表达试是这样的
    RewriteRule   ^/*(.*?)/r_(.*?)-(.*?)-(.*?)-(.*?)-(.*?)\.html   $1/$2.php?type1=$3&type2=$4&type3=$5&page=$6    
    伪静态格式必须为r_xxx-变量1-变量2-变量3-变量4.html
    有什么正值表达式如果有一个变量就r_xxx-变量1.html
    二个变量就r_xxx-变量1-变量2.html
    三个变量就r_xxx-变量1-变量2-变量3.html

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多