zoukankan      html  css  js  c++  java
  • apache伪静态规则及常见规则用法实例

    apache   mod_rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。它支持每个完整规则可以拥有不限数量的子规则以及附加条件规则的灵活而且强大的URL操作机制。此URL操作可以依赖于各种测试,比如服务器变量、环境变量、HTTP头、时间标记,甚至各种格式的用于匹配URL组成部分的查找数据库。

     使用此模块的条件

    1.在apache的httpd.conf里开启LoadModule rewrite_module modules/mod_rewrite.so即把前面的 ‘#’去掉

        如果有操作httpd.conf的权限可以直接在httpd.conf里配置,但多是在网站目录下.htaccess文件里配置

         如果在.htaccess里配置需开启支持.htaccess

               AllowOverride All使.htaccess文件生效

    1 <Directory>
    2 Options indexes FollowSymlinks
    3 AllowOverride All
    4 Order allow,deny
    5 Allow from all
    6 </Directory>

    第二行有indexes的话是允许列出目录文件,没有或者-indexes则表示不允许列出目录文件

     示例目录结构

    re在apache根目录下

    re下demo文件

    1 <?php
    2 echo $_GET['id'];
    3 echo "<br/>";
    4 echo "re下的demo<br/>";
    5 echo "<hr/>";
    6 echo $_SERVER['PHP_SELF'];
    7 ?>

    r1,r2下demo和demo一样,只是第四行分别为"r1下demo","r2下demo"标志

    error.html文件里代码也只是标志各自位置

    .htaccess文件

    1 <IfModule rewrite_module>
    2 RewriteEngine On
    3 RewriteBase /re/
    4 
    5 RewriteCond  %{HTTP_HOST}  localhosT [NC]
    6 RewriteRule      demo(\d+)\.html         demo.php?id=$1 
    7 
    8 ErrorDocument    404   error.html
    9 </Ifmodule>

    其中RewriteBase+demo.php是真实文件存在位置,如果没设置此项则以.htaccess文件所在目录为基准

     如果按以上的.htaccess

    访问:http://localhost/re/demo1.html

    结果:

    要访问的demo1.html是以.htaccess所在目录为基准

    访问个不存在的目录里的http://localhost/re/a/demo1.html

    将会访问到当前RewriteBase下的error.html文件

    若 改为:RewriteBase /re/r1 

    若:

    当不匹配时



       ErrorDocument    404   error.html
    去找当前RewriteBase 下的error.html


    RewriteCond  %{HTTP_HOST}  localhosT [NC]
    这句时匹配前的判断条件
    如果%{HTTP_HOST} 是localhost就进行下面的RewriteRule
    [NC]表示不区分大小写
     注意localhosT,[NC]两者之间有空格
    本文只是作些简单的实例演示,更多内容请查看apace手册相关内容!

  • 相关阅读:
    python3-file的修改实现类似shell中sed的功能
    python3-字典的循环
    python3-file文件操作
    python3-字典的增删改查
    python3-字典中存储列表
    python3-字典中的一些常用方法
    python3-字典中包含字典
    报错调试和工具使用
    (三)、Struts第三天
    struts体系结构
  • 原文地址:https://www.cnblogs.com/HKUI/p/apache_peizhi.html
Copyright © 2011-2022 走看看