.htaccess是用于运行Apache Web做事器的配置文件。当.htaccess文件被放置在一个目录中,而这个目录又是通过Web做事器加载的,则Apache Web做事器会检测并实行.htaccess文件,以供应比Apache配置文件httpd.conf更风雅的掌握,且其语法与Apache其他配置文件完备相同。
2 为什么利用.htaccess?
目前很多网站都是租用做事器或虚拟主机的,其做事器的配置不能随意修正,当Apache配置安全性较低或者对网站访问有分外需求时,均可通过配置Apache的.htaccess文件来实现。

(1)容错文件
创建自定义缺点页面非常有用,它许可向网站访问者显示友好的缺点。例如,如果网站的URL不起浸染,这可避免不友好的“404 FileNot Found”缺点,并许可显示友好的缺点页面,勾引用户重新访问网站内容。
(2)重定向
可利用户访问从网站的一个路径勾引到另一个路径中,使访问的用户看不到真实路径,保护Web做事器真实访问路径,提高Web访问安全性。
(3)密码保护
Apache Web Server供应的密码保护和身份验证系统可能是.htaccess文件最主要的用场。可以设置利用用户名和密码才能访问网站文件或目录。这些安全目录的登录过程由Web浏览器利用弹出式登录界面自动处理。
(4)提高访问速率
.htaccess可以用过压缩文件体积来优化提高网站的访问速率,也可以通过设置文件缓存文件提高访问效率。
(5)限定IP地址访问
供应访问者组织功能,使Web做事器能够谢绝被特定访问者访问,或者许可特定访问者访问。这对付阻挡不受欢迎的访问者或仅许可网站所有者访问网站的部分内容非常有用。
(6)防盗链技能
可阻挡其他网站“盗用”本网站的资源内容(如文件、图像等),降落“带宽盗窃”的机率。
1.3如何利用.htaccess?
(1)配置.htaccess生效
在Apache环境下,须要修正Apache的httpd.conf配置文件以下两点,才能使配置文件生效,详细如下所示。
修正httpd.conf配置文件中“AllowOverride none”改为“AllowOverride alll”,这样就可以指明.htaccess是否能够作为Apache做事器的配置文件;
去掉httpd.conf配置文件中“LoadModule rewrite_module modules/mod_rewrite.so”前面的“#”,这样就可以指明.htaccess是否有重新写入、修正Apache配置的权限。
(2)语法格式
.htaccess文件中紧张采取rewrite模块内容,其常用语法格式如下所示。
RewriteEngine On:设置是否开启或停用rewrite功能;
RewriteBase url-path:设定基准目录,如希望对根目录下的文件rewrtie,便是”/”;
RewriteCond test-stringcondPattern:RewriteCond指令定义了一个规则的条件,即,在一个RewriteRule指令之前有一个或多个RewriteCond指令。条件之后的重写规则仅在当前URI与pattern匹配并且符合这些条件的时候才会起浸染;
RewriteRule PatternSubstitution:RewriteRule指令是重写引擎的根本。此指令可以多次利用。每个指令定义一个大略的重写规则。这些规则的定义顺序尤为主要, 由于,在运行时候,规则是按这个顺序逐一生效的。
场景仿照配置
(1)禁止做事器对外显示目录构造,其配置如下所示。
Options All –Indexes
(2)实现图片、样式文件防盗链,其配置如下所示。
RewriteEngine onRewriteCond%{HTTP_REFERER}!
^ $RewriteCond%{HTTP_REFERER}!
^ http://(www \)?yourdomain.com /.$ [NC]RewriteRule \(gif |jpg | css | png)$ - [ F]
(3)阻挡访问PHP包含文件,其配置如下所示。
RewriteEngine OnRewriteBase /RewriteCond%{THE_REQUEST} ^ [AZ] {3,9}\ / includes / $ [ NC]RewriteCond%{REQUEST_FILENAME} ^ + \.php $RewriteRule - [F,NS,L]