.htaccess是Apache服务器的一个非常强大的分布式配置文件。 正确的理解和使用.htaccess文件,可以帮助我们优化自己的服务器或者虚拟主机。
如何启用htaccess 以windows为例,进入apache/conf目录,找到httpd.conf文件,去掉 LoadModule rewrite_module modules/mod_rewrite.so 前面的#,然后设置目录属性AllowOverride All,重启apache即可
常见格式
下面是一个典型的htaccess文件
# 开启URL重写
RewriteEngine on
# URL重写的作用域
# RewriteBase /path/to/url
# 满足怎样的条件
RewriteCond %{HTTP_HOST} !^www.xxxx.com$ [NC]
# 应用怎样的规则
RewriteRule .? http://www.xxxxx.com%{REQUEST_URI} [R=301,L]
来看看RewriteCond,首先有一个%,因为{HTTP_HOST}是一个apache变量,需要用%来指示。从!开始就是匹配的条件,支持 正则。!表示不等于,这句话的意思就是:如果HTTP_HOST不是www.example.com。后面的[NC](no case)表示忽略大小写,常见的还有
[L](last):终止一系列的RewriteCond和RewriteRule
[R](redirect):触发一个显示的跳转,也可以指定跳转类型,如[R=301]
[F](forbidden):禁止查看特定文件,apache会触发403错误
典型应用
图片防盗链
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?xxxxx.com/ [NC]
RewriteRule .(gif|jpg|png)$ - [F]
由于是基于HTTP_REFERER的验证,所以只能防止一般的图片盗链,因为HTTP_REFERER是比较容易伪造的
自定义404错误页面
如果用户输入了一个不存在的url,那么就显示自定义的错误页面
ErrorDocument 404 /404.html
# 其他同理
ErrorDocument 500 /500.html
处理移动过的文件
Redirect 301 /old.html http://xxxx.com/new.html
# 也可以是下面这样
RewriteRule /old.html http://xxxx.com/new.html [R=301,L]
# 如果想隐式跳转(URL地址不变,但实际上内容是其他URL的),就使用下面的
RewriteRule /old.html http://yoursite.com/new.html [L]
对于RewriteRule还有好多文章可以做,比如
# 把html后缀的url链接到php文件
# $1指代的是前面第1个用括号括起来的内容
RewriteRule ^/?([a-z/]+).html$ $1.php [L]
# 或者把旧文件夹的内容链接到新文件夹
RewriteRule ^/?old_directory/([a-z/.]+)$ new_directory/$1 [R=301,L]
# 隐藏文件名
RewriteRule ^/?([a-z]+)$ $1.php [L]禁止显示目录列表
如果目录里没有index文件,又没有对该目录做过特别的处理,尤其是windows主机,那么该目录里的内容就会显示出来,这时可以在根目录创建 一个.htaccess文件,然后写上
Options -Indexes
# 就这么一句就搞定了
阻止/允许特定IP/IP段
# 禁止所有IP,除了指定的
order deny,allow
deny from all
# 如果想允许IP段,如123.123.123.0 ~ 123.123.123.255,则
# allow from 123.123.123.
allow from 123.123.123.123
ErrorDocument 403 /page.html
allow from all
#如果想禁止特定IP
deny from 123.123.123.123
添加MIME类型
AddType video/x-flv .flv
# 如果设置类型为 application/octet-stream 将提示下载
AddType application/octet-stream .pdf
分享
热搜
相关推荐
-
禁摩还能理解,禁电瓶车因为啥呢?
迎风立调侃 2310跟贴 -
北约官员称北约正制定与俄开战后的军队调动计划
央视新闻客户端 2.3万跟贴 -
是劝和,还是劝降?不要愚弄!看看抗战宋夫人说了什么
二虎涛哥 5733跟贴 -
一哄而上,打不赢美国高科技
华商韬略 4342跟贴 -
非洲蜥蜴人
MUSICANCER 云音乐特供00:03 -
真实市政府办公务员的一天是怎样度过的?8点半到单位晚上9点半才能走
火锅局 6617跟贴 -
美媒:中国在摆脱美国芯片生产技术方面取得进展
俄罗斯卫星通讯社 23跟贴 -
莫迪称期待与台建立更紧密联系 外交部回应
北京日报 164跟贴 -
网传某地执法者不允许路边卖西瓜,摊主干脆免费赠送
可达鸭面面观 3778跟贴 -
国内物价是跌回了十年前了吗?
玛丽姬丝 653跟贴 -
中国股市量化交易应该暂停
爆角追踪 2255跟贴 -
毛坦厂中学经典送考场面再现!头车车牌号寓意“考生顺利”
南方都市报 431跟贴 -
哈马斯就达成停火协议提条件
北青网-北京青年报 1536跟贴 -
闹大了!红领巾变红披肩,评论区炸锅,看了标准才知道谁对谁错
180°视角 1347跟贴 -
四川南江:探索农村集体土地所有权房屋抵押贷,用于支持县域内购买新建商品住房支付房款
澎湃新闻 4354跟贴 -
胖东来董事长于东来自称已是胃癌前期
界面新闻 216跟贴 -
一男子机场公共场合大声吼叫,路人难以容忍上前劝阻,男子:我们喊习惯了 少数民族就这么喊
然后有戏 1598跟贴 -
4人履新职 易会满任全国政协经济委员会驻会副主任
新京报政事儿 87跟贴 -
微盘股指数半日跌近6% 全市场超4600只个股下跌
网易财经 1845跟贴 -
中信证券:当前股市估值仍处于历史上的极低水平,未来股市大幅调整的风险已经明显收敛
每日经济新闻 1714跟贴
热门跟贴