之前了解的 .htaccess 只用在于文件上传这方面,并没有深入了解。
这次遇到了ctf 题,顺便深入了解一下.htaccess的妙用。
基本概念:
.htaccess 文件 可以对目录改变配置方法。 就是在一个特定的目录防止一个包含一条或多条指令的文件 以作用于此目录和所有子目录。 作为用户,能用的命令受到限制,管理员可以通过 Apache的 AllowOverride 来配置 开启或关闭。
另外, .htaccess 文件中 可以使用 # 进行单行注释 且支持\来拼接上下两行语句。
作用范围:
.htaccess 文件中的配置指令作用域 .htaccess 文件所在的目录和所有的子目录。 但是 上级目录也就是 ../ 也可能会有 .htaccess 文件 而指令是 按照顺序查找依次生效的 所以,一个特定的目录下 .htaccess 文件中的指令可能会覆盖其上级目录的 .htaccess 文件中的指令 即 子目录中的指令会覆盖掉 上级目录或者主配置文件中的指令。 顺序如 a->b->c 假如 a b c 中都有 .htaccess 文件 最终生效的可能是c 文件的配置指令 即覆盖掉上级目录。
配置文件
启动 .htaccess , 需要在服务器主配置文件将 allowoverride 设置为 all