zoukankan      html  css  js  c++  java
  • .htaccess是什么

    .htaccess叫分布式配置文件,它提供了针对目录改变配置的方法——在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。并且子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。一般来说,如果你的虚拟主机使用的是Unix或Linux系统,或者任何版本的Apache网络服务器,从理论上讲都是支持.htaccess的。
    .htaccess是什么?.htaccess是在Apache HTTP Server这款服务器架设软件下的一个对于系统目录进行各种权限规则设置的一个文件,存在于Linux操作系统中。比较常见的是定义默认首页名称,404页面,301转向,等等,还有更多的功能比如伪静态,限制图片外链,限制下载,密码保护,去除页面广告等等,还有非常多的功能就不一一列举。  其实这些功能大多可以在cPanel控制面板来进行设置的(相当于是.htaccess的图形化界面)。但对于高手来讲,cPanel对于htaccess提供的功能还是太少了点,手工编辑才是王道。
    自定义错误页面(直接拷贝即可)

    ErrorDocument 404 /error-pages/not-found.html
    ErrorDocument 503 /error-pages/service-unavailable.html

    IP禁止

    Order allow,deny
    Deny from 123.45.67.8
    Deny from 123.123.7
    Allow from all

    上面能禁止IP地址在123.45.67.8以及IP地址开头为123.123.7的任何人。例如123.123.74.42 就不能得到访问。
    变更默认首页
    DirectoryIndex homepage.html
    去除页面广告(不一定适用所有免费空间)

    LayoutIgnoreURI *.php
    LayoutIgnoreURI *.cgi
    LayoutIgnoreURI *.htm
    LayoutIgnoreURI *.html
    LayoutIgnoreURI *.txt

    页面跳转
    Redirect page1.html page2.html
    如果某人访问 http://www.example.com/page1.html,他将被跳转到(带有HTTP状态代码302)的http://www.example.com/page2.html
    服务器内置SSI SSI使用详解

    AddType text/html .shtml
    AddHandler server-parsed .shtml
    Options Indexes FollowSymLinks Includes

    防止图片热链后面的 .htaccess规则使用了mod rewrite。
    特别域名

    RewriteEngine onRewriteCond %{HTTP_REFERER} ^http://([^/]+.)?baddomain1.com [NC,OR]RewriteCond %{HTTP_REFERER} ^http://([^/]+.)?baddomain2.com [NC,OR]RewriteCond %{HTTP_REFERER} ^http://([^/]+.)?baddomain3.com [NC]RewriteRule .(gif|jpg)$ http://www.example.com/hotlink.gif [R,L]

    非特别域名

    RewriteEngine onRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www.)?example.com/.*$ [NC]RewriteRule .(gif|jpg)$ http://www.example.com/hotlink.gif [R,L]

    除非 example.com有这个图片,浏览器才能看到hotlink.gif.
    注意:Hotlink热链保护使用 .htaccess 依赖客户端在http GET请求中发送正确的”提交”值。
    禁止.htaccess文件被查看
    在.htaccess文件中加入如下代码就可以禁止别人访问你的.htaccess文件:

    <Files .htaccess>
    order allow,deny
    deny from all
    </Files>

    这个网上的大部分版本都有错误,大部分版本丢掉了<Files .htaccess> ,结果导致所有文件都被禁止访问。如果用了错误的规则,所有内容都将无法访问。

    同样道理,如果要禁止其他文件的访问,用其他文件名替换就可以了。



    作者:JasonQiao
    链接:http://www.jianshu.com/p/ddca040c8d48
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    MySQL索引的操作
    MySQL表的操作02
    MySQL表的操作01
    字典实现简单购物车程序
    python 中if和elif的区别
    格式化操作---%方法
    正则表达式相关知识
    实现 像网易云音乐 播放列表那样的弹出型Dialog
    为什么在非UI线程中操作UI的改变失不安全的
    模板方法模式-Template Method
  • 原文地址:https://www.cnblogs.com/DeeLMind/p/7747507.html
Copyright © 2011-2022 走看看