.htaccess的重写规则 .htaccess基本语法和应用

.htaccess的重写规则 .htaccess基本语法和应用 .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/.example/.com$ [NC]# 应用怎样的规则RewriteRule .? http://www.example.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/.)?example/.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://yoursite.com/new.html# 也可以是下面这样RewriteRule /old.html http://yoursite.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,allowdeny 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 #如果想禁止特定IPdeny from 123.123.123.123添加MIME类型 AddType video/x-flv .flv# 如果设置类型为 application/octet-stream 将提示下载AddType application/octet-stream .pdf 绿色通道:好文要顶关注我收藏该文与我联系 luoine 关注 - 1 粉丝 - 7+加关注00(请您对文章做出评价)« 上一篇:由浅入深剖析.htaccess » 下一篇:zen-cart 按时间+随机数结合产生订单号 (订单方便管理与确认) posted @ 2010-12-01 00:39 luoine 阅读(447) 评论(0) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值