Apache伪静态规则文件.htaccess的另类用法
1、开启/关闭拼写检查(关闭后会区分大小写)
checkspelling on #开启
checkspelling off #关闭
关闭拼写检查可以解决一下报错
2、禁止/只允许特定ip访问
(1) 禁止单个ip访问,例如192.168.1.1
order allow,deny
allow from all
deny from 192.168.1.1
(2) 禁止ip段访问,例如192.168.1.0/24、192.168.0.0/16
order allow,deny
allow from all
deny from 192.168.1
deny from 192.168
(3) 只允许特定ip访问,例如192.168.1.1
order allow,deny
deny from all
allow from 192.168.1.1
3、防止目录浏览
options all -indexes
4、自定义错误页面
errordocument 403 /403.html
errordocument 404 /404.html
errordocument 500 /500.html
5、设置默认首页
directoryindex 123.html
6、屏蔽恶意蜘蛛(user agent)
setenvifnocase user-agent "^baidu" bad_bot
setenvifnocase user-agent "^sogou" bad_bot
setenvifnocase user-agent "^bloghoo" bad_bot
setenvifnocase user-agent "^scooter" bad_bot
deny from env=bad_bot
7、防盗链
rewriteengine on
rewritecond %{http_referer} !^$ [nc]
rewritecond %{http_referer} !google.com [nc] #白名单域名,谷歌
rewritecond %{http_referer} !baidu.com [nc] #白名单域名,百度
rewritecond %{http_referer} !test.com [nc] #白名单域名,自己的域名添加上
rewriterule .*\.(jpg|gif|png|jpeg)$ http://deny.com [r,nc,l] #不在白名单的访问跳转到特定url上
8、禁止访问特定目录,例如拒绝任何人访问abc目录
在abc目录下创建.htaccess,写入一下内容:
deny from all
9、http跳转到https
rewritecond %{server_port} !^443$
rewriterule ^.* https://%{server_name}%{request_uri} [l,r]