专栏首页Java架构师必看详解Apache下.htaccess文件常用配置

详解Apache下.htaccess文件常用配置

.htaccess文件是Apache服务器中最常用的一个配置文件,它负责相关目录下的网页配置。通过h网络

taccess文件是Apache服务器中最常用的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置索引入口等功能。

另外,.htaccess手动编辑方法是使用UE或notepad2等高级文本编辑器。如果不方便下载或手动编写的文件出错,也非常推荐在线htaccess文本编辑器,目前这款编辑器已经非常完善,并且在二次开发下已经增加了很多新功能,简单易用,完美支持多条件复杂任务的htaccess文件智能生成任务。

1、开启网站的图片防盗链功能

如果网站的流量有限,那么图片防盗链是非常必要的。不仅可以减少流量浪费,而且可以减轻服务器负担。开启图片防盗链功能需要在htaccess文件中加入以下代码:

RewriteEngine on   

RewriteCond %{HTTP_REFERER} !^$   

RewriteCond %{HTTP_REFERER} !^http://(www\.)?allow1.com(/)?.*$ [NC]   

RewriteCond %{HTTP_REFERER} !^http://(www\.)?allow2.com(/)?.*$ [NC]   

RewriteRule .*\.(gif|jpg|jpeg|bmp|png)$ [R,NC,L] 

上面的代码中,allow1.com与allow2.com分别是允许访问网站图片的域名,后面的baidu.com则是替换成的目标图片地址。上面还包含了图片文件的后缀参数,可以自行更改。如果通过htaccess在线生成器生成此段代码,仅仅需要填写几个允许访问的域名(不带www与http),然后再填写好准备替换的图片地址。

2、自定义404、500等错误返回页

如果你不希望网站在找不到网页的时候出现“404该页无法显示”,就试试自己定义一个找不到网页的出错页面吧!需要在htaccess文件中加入

ErrorDocument 404 /404.htm

前面的404是其错误代号,后面的/404.htm是自己定义的404页面的路径。需要注意的是,如果这个404页面的大小小于512B,则IE会忽略此页面,也就不会生效了。后面的参数需要使用网站相对路径。在htaccess在线生成程序中,请切换到“自定义错误页面”选项卡,然后在“404(未找到)”后面的输入框中输入你的错误页面地址即可。在线生成工具还可以处理其它类型的错误,以此类推即可。请预先将404错误页面制作好上传到网站目录。

3、屏蔽网站目录列表

目录列表是在网站找不到默认文件时的应急措施,服务器将毫无保留的返回一个当前目录下的所有文件。这将给网站带来非常大的安全隐患。因此,现在很多程序都会在任何子目录下面放一个index.htm文件来避免这种疏漏。但是,通过htaccess文件我们可以彻底的解决这个问题。

在文件中加入以下代码:

Options -Indexes

这将彻底关闭网站的目录列表功能,但对于网站的正常访问是没有任何影响的。如果想显示文件列表,则只需要将“-”更改为“+”。如果使用htaccess在线生成工具,只需要把“是否在没有默认文档的目录显示文件列表”菜单选择成“隐藏”即可,程序将自动生成相关代码。

4、WWW统一网址格式与重定向

在SEO的观点里认为,如果abcd.com与www.abcd.com都能访问,这对于搜索引擎来说是个非常不好的体验,也很容易造成权重分散。而我们要做的就是将带www的网址与不带www的网址进行统一。

我们不建议手动编写该段代码,自动生成程序已经做了完善的判断,你只需要切换到“WWW域名重定向”选项卡,在WWW域名重定向后面的地址栏中填入你希望最终使用的域名即可!注意,此处填写的域名必须为完整网址,比如 http://www.xxxx.org 或者 http://xxxx.org 。程序将根据您的输入自动判断使用正重定向还是逆重定向。

5、默认入口页面

有些虚拟主机就是另类,不适用默认的文件名,或顺序非主流。那么通过以下的代码就可以自己定义这个页面的文件名了。比如index.htm 、default.php等等:

DirectoryIndex index.php

这行代码将index.php作为默认首页。其他页面请直接替换例子中的index.php。如果网站有多个页面需要作为首页,请按照DirectoryIndex index.php index2.php的格式编写文件。此项设置在htaccess生成器中,仅仅需要你依次填入首页的文件名即可,非常方便。

6、通过htaccess开启网站图片缓存

某些虚拟主机限制了网站的流量,如果浏览器每次都从服务器下载最常用的图片文件,将会浪费大量的带宽。因此可以开启图片缓存,浏览器在缓存过期前将会自动从缓存区载入图片文件。此功能在文件中加入以下代码:

Header set Cache-Control “max-age=3600″

需要注意的是,上面的3600单位为秒,即超时时间,上图中的gif等为图片文件后缀,表示对这些文件生效。如果使用自动生成工具,为了开启此选项,请将“开启站点的图片缓存”选项卡选择一个超时时间。目前有十分钟、一小时、一天等选项可供设置。

7、固定301、302网页重定向

由于页面转移位置造成的404错误是我们大家都非常头痛的问题,但我们只需要做一个301的重定向就会完全解决这个问题了。在htaccess文件中加入以下代码:

Redirect permanent /old.htm http://www.aaa.com

前面一个参数使用相对路径,也可以使用目录名,后一个参数必须填写完整网址。这样才能生效,并且不出错误。在SEO中,搜索引擎也很快就会按照你的设置,将收录的网页更新。

此外,htaccess还可以实现比如MIME文件类型修改、域名重定向等功能,因此,能充分利用好该文件将能让你的网站建设更加得心应手。

本文由来源 21aspnet,由 system_mush 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何得到数据库中所有表字段及字段中文描述

    如何得到数据库中所有表字段及字段中文描述 以下资料,通过csdn的一位师兄从SQL版主那得到: sql中 SELECT  (case when a.c...

    Java架构师必看
  • MyBatis官方文档-XML 映射文件

    最近更新: 15 七月 2019|版本: 3.5.2

    Java架构师必看
  • MyBatis实现一对一,一对多关联查询

    可以通过关联查询实现。关联查询是几个表联合查询,只查询一次,通过在resultMap里面的association,collection节点配置一对一,一对多的类...

    Java架构师必看
  • 微信小程序|页面的生命周期函数onLoad

    相信小程序的初学者对js页面是很模糊的总感觉看不懂,其实js页面总的来说就是一个Page()函数。用Page()函数来注册一个页面,接受一个object参数,实...

    算法与编程之美
  • 我在谷歌大脑这一年

    问耕 编译整理 量子位 出品 | 公众号 QbitAI ? 这篇文章的原作者是Colin Raffel。他2016年于哥伦比亚大学获得电子工程博士学位,随后入选...

    量子位
  • Angular2 路由传值

    用户1437675
  • 高效SQL语句必杀技

            No SQL,No cost. SQL语句是造成数据库开销最大的部分。而不良SQL写法直接导致数据库系统性能下降的情形比比皆是。那么如何才能称得...

    Leshami
  • Kafka 安装与启动

    Kafka 依赖 ZooKeeper,如果你还没有 ZooKeeper 服务器,你需要先启动一个 ZooKeeper 服务器。可以先参考ZooKeeper 安装...

    smartsi
  • KafKa 工作原理 && 集群部署(一)

    高吞吐量、低延迟每个topic可以分多个partition, consumer group 对partition进行consume操作。

    Kevin song
  • Java web开发的那点事及最新技术整理

    今天继续前面的话题,说说Java web开发的那点事。Java语言一直作为软件行业的热门语言,近几年在国内各个语言开发占的比重如下:

    攻城狮的那点事

扫码关注云+社区

领取腾讯云代金券