首页 > 开发 > Apache > 正文

apache .htaccess文件详解和配置技巧总结

2020-04-16 19:27:37
字体:
来源:转载
供稿:网友

一、.htaccess的基本作用

       .htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令。
       .htaccess主要的作用有:URL重写、自定义错误页面、MIME类型配置以及访问权限控制等。主要体现在伪静态的应用、图片防盗链、自定义404错误页面、阻止/允许特定IP/IP段、目录浏览与主页、禁止访问指定文件类型、文件密码保护等。
       .htaccess的用途范围主要针对当前目录。


二、启用.htaccess的配置
启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。
打开httpd.conf文件用文本编辑器打开后,查找

复制代码 代码如下:

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
改为:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:
复制代码 代码如下:
AccessFileName .config

三、.htaccess访问控制

1、访问控制基础:Order命令

      为了限制用户访问一些关键目录,通常加入.htaccess文件,常见的写法如下:

复制代码 代码如下:

<Files  ~ "^.*/.([Ll][Oo][Gg])|([eE][xX][eE])">
 Order allow,deny
 Deny from all
</Files>

说明:

(1)Files后的波浪线表示启用“正则表达式”,简单的写法有:<Files *>。

(2)Order命令:通过Allow,Deny参数,Apache首先找到并应用Allow命令,然后应用Deny命令,以阻止所有访问,也可以使用Deny,Allow。

四、URL重写

下面是一段简单的URL重写规则示例:

复制代码 代码如下:

# 将 RewriteEngine 模式打开
RewriteEngine On
# Rewrite 系统规则请勿修改
RewriteRule ^p/([0-9]+)/.html$ index.php?post_id=$1
RewriteRule ^u-(username|uid)-(.+)/.html$ space.php?$1=$2

其中,RewriteEngine 表示开启URL重写,RewriteRule是重写规则。

五、配置错误页面

基本语法如下:

复制代码 代码如下:

# custom error documents
ErrorDocument 401 /err/401.php
ErrorDocument 403 /err/403.php
ErrorDocument 404 /err/404.php
ErrorDocument 500 /err/500.php

六、htaccess常用命令和配置技巧
1.禁止显示目录列表
有些时候,由于某种原因,你的目录里没有index文件,这意味着当有人在浏览器地址栏键入了该目录的路径,该目录下所有的文件都会显示出来,这会给你的网站留下安全隐患。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表