.htaccess文件是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.php100.com
前面一个参数使用相对路径,也可以使用目录名,后一个参数必须填写完整网址。这样才能生效,并且不出错误。在SEO中,搜索引擎也很快就会按照你的设置,将收录的网页更新。
此外,htaccess还可以实现比如MIME文件类型修改、域名重定向等功能,因此,能充分利用好该文件将能让你的网站建设更加得心应手。
http://www.enet.com.cn/article/2010/0520/A20100520656507.shtml
分享到:
相关推荐
详解Apache下htaccess文件常用配置.pdf
Apache .htaccess 文件是Web服务器配置中的一个关键元素,它允许开发者在不修改主服务器配置文件(httpd.conf)的情况下,对单个目录或子目录进行定制化设置。这篇文章主要涵盖了 .htaccess 文件的基础知识、启用...
.htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。通过 .htaccess 文件,可以实现网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止...
控制.htaccess文件能否覆盖httpd.conf中的配置,例如“AllowOverride None”表示不允许,而“AllowOverride All”则允许所有覆盖。 8. **Options**: 设置目录的选项,如Indexes(自动列出目录内容)、...
可能很多朋友都常用nginx不支持.htaccess,只有apache才支持.htaccess文件,其实这是错误的看法nginx也是支持.hatccess的哦,下面我来给各位总结一下配置方法。 其实nginx和.htaccess一点关系都没有,只是一大堆人...
.htaccess文件(或者”分布式配置文件”提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员...
7或7.5作为Web服务器时,如何将Apache服务器常用的`.htaccess`文件转换成适用于IIS的`.web.config`文件,因为IIS不支持`.htaccess`文件,而是使用XML格式的`.web.config`进行URL重写和伪静态配置。 `.htaccess`文件...
– .htaccess 文件(或者”分布式配置文件”提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理...
个人档案 查看文章 .htaccess怎么用2007-05-16 14:04(文章来源)http://www.dnpark.com.cn/news/mm/www/1179329504375ZKlMSgYr.html<br><br>Apache服务器的.htaccess是一个非常强大的分布式配置文件,学会使用....
Apache 配置文件 http.conf 参数含义详解 Apache 配置文件 http.conf 是 Apache 服务器的核心配置...http.conf 文件中的各个参数都有其特定的含义和用途,正确地配置这些参数可以提高 Apache 服务器的性能和安全性。
而`.htaccess`(分布式配置文件)是Apache服务器中的一个核心特性,允许用户在网站的根目录下或子目录中自定义配置,实现对Web服务器行为的精细控制,无需修改全局的服务器配置文件。 本文将围绕Apache和`.htaccess...
子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。 一、错误文档的定位 (1)常用的客户端请求错误返回代码: 401 Authorization Required 403 Forbidden 404 Not Found 405 Method Not Allowed 408 ...
* Options:配置在特定目录使用哪些特性,常用的值和基本含义如下: + ExecCGI:在该目录下允许执行 CGI 脚本。 + FollowSymLinks:在该目录下允许文件系统使用符号连接。 + Indexes:当用户访问该目录时,如果...
这条命令的作用是开启URL重写引擎,即激活.htaccess文件中的所有重写指令。如果没有这行命令,那么后续的所有重写规则都不会生效。 ##### 2.2 设置重写条件(RewriteCond) 在`.htaccess`文件中,`RewriteCond`...
在这个例子中,配置命令包括设置配置文件路径、数据文件路径、日志文件路径,启用常用模块,并以DSO(Dynamic Shared Object)模式编译,这样可以方便地添加或移除模块而无需重新编译整个服务器。 配置脚本执行后,...