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 文件自动覆盖父目录,继承管理

  • 相关阅读:
    使用Python快速生成虚拟的超大文件
    常用的 adb 命令合集
    Jmeter 性能测试之反向代理录制性能测试脚本
    论医院网络时钟系统(NTP时钟服务器)的重要性
    北斗时钟装置(卫星时间同步系统)应用自动化系统探讨
    解决前端部署到Nginx非根目录下页面出现空白的问题
    解决docker中Easyexcel因缺少字体无法导出的问题
    看图认识HTML5
    看图知Docker
    ASIS CTF Finals 2020
  • 原文地址:https://www.cnblogs.com/caps/p/2943645.html
Copyright © 2011-2022 走看看