zoukankan      html  css  js  c++  java
  • .htaccess总结

    什么是.htaccess

    概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
    启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:AccessFileName .config 。
    笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
    指令的作用范围

    作用范围

    .htaccess文件中的配置指令作用于.htaccess文件所在的目录及其所有子目录,但是很重要的、需要注意的是,其上级目录也可能会有.htaccess文件,而指令是按查找顺序依次生效的,所以一个特定目录下的.htaccess文件中的指令可能会覆盖其上级目录中的.htaccess文件中的指令,即子目录中的指令会覆盖父目录或者主配置文件中的指令。

    配置文件

    启动 .htaccess,需要在服务器的主配置文件将 AllowOverride 设置为 All
    也可以将 .htaccess 修改为其他名
    AccessFileName .config #将.htaccess修改为.config

    常见指令

    • SetHandler 可以强制所有匹配的文件被一个指定的处理器处理
      用法:
      SetHandler handler-name|None
      示例1:
      SetHandler application/x-httpd-php
      此时当前目录及其子目录下所有文件都会被当做 php 解析
    • AddHandler
      AddHandler 可以在文件扩展名与特定的处理器之间建立映射
      用法:
      AddHandler handler-name extension [extension] ...
      例如:
      AddHandler cgi-script .xxx
      将扩展名为 .xxx 的文件作为 CGI 脚本来处理
    • AddType
      AddType 可以将给定的文件扩展名映射到指定的内容类型
      用法:
      AddType media-type extension [extension] ...
      示例:
      AddType application/x-httpd-php .gif
      将以 gif 为后缀的文件当做 php 解析
      AddType application/x-httpd-php png jpg gif
      将以 .png .jpg .gif 多个后缀当做 php 解析
    • php_value
      当使用 PHP 作为 Apache 模块时,也可以用 Apache 的配置文件(例如 httpd.conf)和 .htaccess 文件中的指令来修改 php 的配置设定。需要有AllowOverride Options 或AllowOverride All 权限才可以。
      php_value 设定指定的值。要清除先前设定的值,把 value 设为 none。不要用 php_value 设定布尔值。应该用 php_flag。
      用法:
      php_value name value
      查看配置可被设定范围
      由上可知.htaccess 只能用于 PHP_INI_ALL 或 PHP_INI_PERDIR 类型的指令
      查看php.ini 配置选项列表,寻找可利用指令
      • 文件包含配置选项
        auto_prepend_file:在主文件解析之前自动解析包含的文件
        auto_append_file:在主文件解析后自动解析包含的文件
        例如:
        php_value auto_prepend_file images.png
        访问一个 php 文件时,在该文件解析之前会先自动解析 images.png 文件
      • 绕过preg_match

        例如:
        php_value pcre.backtrack_limit 0
        php_value pcre.jit 0
        设置正则回朔次数来使正则匹配的结果返回为 false 而不是0 ,从而可以绕过正则。
      • php_flag
        php_flag 用来设定布尔值的 php 配置指令
        用法:
        php_flag name on|off
        查看php.ini 配置选项列表,寻找可利用指令

        可以将 engine 设置为 0,在本目录和子目录中关闭 php 解析,造成源码泄露
        php_flag engine 0
  • 相关阅读:
    弄明白python reduce 函数
    Linux 下载百度网盘大文件
    java 从网上下载文件的几种方式
    Windows下Python2与Python3两个版本共存的方法详解
    python 学习笔记
    Glide实现查看图片和保存图片到手机
    Android Animation 知识点速记备忘思维导图
    You must not call setTag() on a view Glide is targeting when use Glide
    前端数据流哲学
    精读《Optional chaining》
  • 原文地址:https://www.cnblogs.com/hacker-snail/p/14154966.html
Copyright © 2011-2022 走看看