zoukankan      html  css  js  c++  java
  • apache rewrite机制

    处理伪静态时,用户发送一个伪静态地址。如果apache开启了rewrite模块,则通过这个模块正则这个地址,重写这个静态地址产生对应动态地址,发送给php执行。这样用户看到是静态地址,服务器处理是动态地址。

    1、启用rewrite模块 修改httpd.conf
    LoadModule rewrite_module modules/mod_rewrite.so

    2、启用虚拟主机
    修改httpd-vhosts.conf 修改hosts

    3、添加设置参数

    <Directory "D:/web/test"> 这里面的配置如果没有指定访问权限,则以上级目录的权限为准,如果他自己指定了访问权限,则以自己的为准,可以覆盖上级目录配置

    Order allow,deny 先看allow 再看deny 留下的可以访问 顺序重要! 这里指定是否让人访问
    Allow from all
    Deny from xxip

    Options none/indexes 是否目录浏览

    配置首页面
    DirectoryIndex abc.html bb.html

    配置错误页
    errorDocument 404 /404.html
    errorDocument 403 /403.html
    errorDocument 500 /500.html

    配置rewrite规则
    RewriteEngine On #启用rewrite引擎
    #RewriteRule 正则表达式 重写到的网址其中可以反应用$1-$n引用前面正则的数据
    RewriteRule news-([a-zA-Z])+-id(\d+)\.html$ news.php&type=$1&id=$2

    是否启用.htaccess文件
    AllowOverride None/All
    </Directory>
    Directory配置节点,用于指定该目录下的文件或是图片的访问权限,设置虚拟主机的错误页面,欢迎页面

    4、最后处理修改httpd-vhosts.conf,还可以直接在网站目录添加.htaccess文件,修改此文件无需重启apache

    <ifModule rewrite_module>#查看是否已加载此模块
    RewriteEngine On #启用rewrite引擎
    #RewriteRule 正则表达式 重写到的网址其中可以反应用$1-$n引用前面正则的数据
    RewriteRule news-([a-zA-Z]+)-id(\d+)\.html$ news.php?type=$1&id=$2 #可以多写 正则自上向下
    RewriteRule anews-([a-zA-Z]+)-id(\d+)\.html$ news.php?type=$1&id=$2
    </ifModule>
    errorDocument 404 /404.html

    .htaccess 文件对所在目录以及其子目录有效,其子目录如果有.htaccess 文件自动覆盖父目录,继承管理

  • 相关阅读:
    c# excel sheep 导出
    C# 导出 excel 复杂格式 html导出
    C# 导出CSV功能记录下
    怎样查看修改sqlserver数据库的编码格式
    entity framework如何控制并发
    IT技术 | 让程序员抓狂的排序算法教学视频
    关于高性能的那点事
    论C#逼格手册
    numpy.loadtxt用法
    numpy中np.c_和np.r_
  • 原文地址:https://www.cnblogs.com/caps/p/2943645.html
Copyright © 2011-2022 走看看