新手使用htaccess文件最容易出现的五大优化错误

  由于本人最近一直在研究">Apache的官方手册,对.htaccess这个强大而灵活的配置文件产生了兴趣。同时,也有很多朋友向我询问.htaccess文件的相关疑难杂症,在此,我独家总结一下.htaccess这个文件的常见编写错误,也希望各位朋友能够汲取教训,达到更高的层次。

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

  Unix、Linux系统或者是任何版本的Apache Web服务器都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自己的.htaccess文件。国内的大多数虚拟主机就没有这个功能。我所知道的提供这个功能的有康盛世纪(就是Discuz的论坛服务商)。

  启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:AccessFileName .config 。

  笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。

  1、.htaccess文件是Apache的配置文件,因此直接决定了此文件使用IIS构建的网站无效。

  在官方的说明中,.htaccess是网站的一个分布式配置文件,分布式顾名思义,就是可以分布在各个不同的目录下面,每个文件都有其不同的作用域。比如将文件放在“admin”目录下,那么这个配置文件只对admin及其子目录下的文件生效。

  然而有很多初入门道的朋友并不了解,因此不知道如何处理这个配置文件。在此我告诉大家,如果你想要整个网站都生效,就将此文件建立在网站根目录下即可。

  2、此文件极易造成服务器500错误,并且大部分原因都是Windows文件编码错误。

  由于该文件是原生Linux下的文件,因此在Windows下不能使用系统自带的记事本程序创建这个文件。但是,可以通过编码转换,去掉BOM等多余的内容。但是,我们强烈建议使用Notepad2等富文本编辑器来创建这个文件,并且将之保存为UTF-8这种国际编码格式。当然,也可以使用一些在线htaccess编辑器来自动创建这个文件,文后将会有相关介绍。

  3、.htaccess文件设置图片防盗链时,替换的目标图片一定不能是当前域下的图片文件。否则将会造成循环错误。

  很多朋友会使用.htaccess文件达到图片防盗链的效果,减少空间由于图片盗链浪费的流量。但是,却忽视了这一点:不能将替换后的目标图片放在本域中。原因如下:本域使用了图片防盗链功能,因此,所有通过其它域访问本域的图片地址都会被重写为目标地址,但如果目标地址也是本域中的图片,就会造成循环错误,甚至可能导致客户端浏览器假死。

  4、WWW域名统一跳转指令的安全写法。

  很多朋友都会通过.htaccess文件将带WWW的域名与不带WWW的域名统一,然后写出了类似如下语句:

  RewriteCond %{HTTP_HOST} !^www.domain.com? [NC]

  注意,这是一种极不安全且不负责任的写法,原因在于使用了“!”(非)。这种写法将会把.htaccess所有作用域下的网址都进行跳转,比如会将“m.domain.com”跳转成“www.domain.com”,会把“bbs.domain.com也跳转成“www.domain.com”。其可能造成的问题可想而知。所以,该指令的正确、安全的写法应该是:

  RewriteCond %{HTTP_HOST} ^(domain\.com)(:80)? [NC]

  这就避免了干扰其它的子域名,同时,也避免了主机其它端口的跳转。这是一种非常严格而且安全的写法。

时间: 2024-10-28 17:00:28

新手使用htaccess文件最容易出现的五大优化错误的相关文章

总结新手容易犯的htaccess文件五大优化错误

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 由于本人最近一直在研究Apache的官方手册,对.htaccess这个强大而灵活的配置文件产生了兴趣.同时,也有很多朋友向我询问.htaccess文件的相关疑难杂症,在此,我独家总结一下.htaccess这个文件的常见编写错误,也希望各位朋友能够汲取教训,达到更高的层次. 1..htaccess文件是Apache的配置文件,因此直接决定了此文

善用.htaccess文件设置功能 提升网站首页优化效果

网站SEO优化,从原先的内容为王,外链为皇,已经过渡到如今的从技术细节着手,从点滴之处,显出SEO优化的功力,也往往只有如此,才能够在激烈的竞争中,获得成功,就拿网站的默认首页来说吧,这是一个非常小的细节,但是如果不注意的话,却往往会影响到SEO优化效果!可是通常而言,网站的默认首页很难修改,用ASP编写的建站程序往往默认首页是.asp,而以PHP编写的网站,默认首页则是.PHP! 虽然现在一些好的空间商能够解决首页自定义的功能,但是目前绝大多数的空间商还是没有这种功能的,需要通过设置才可以,可

浅谈如何通过.htaccess文件设置网站的默认页

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 大家好,我是湖南推的kiness.网站新建好后,很多新手站长会对网站的默认首页的设置很是烦恼.比如用的是php的程序,默认首页大多是打开的网站根目录里面的"/index.php"文件;若是用asp语言开发的程序,首页打开大多是默认打开"/index.asp";以jsp语言开发的程序,默认打开是"

详解Apache中.htaccess文件的功能写法

apache中.htaccess文件的功能写法 - .htaccess文件(或者"分布式配置文件"提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限制.管理员可以通过Apache的AllowOverride指令来设置. - 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令. - .htaccess必须以ASCII模式上传,最好将其权限设置为644. 错误文档的定位 常用的客

htaccess文件使用大全

Apache系统中的.htaccess文件(或者"分布式配置文件"提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限制.管理员可以通过Apache的AllowOverride指令来设置. 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令. .htaccess必须以ASCII模式上传,最好将其权限设置为644. 错误文档的定位 常用的客户端请求错误返回代码: 401 Auth

Apache的Mode Rewrite模块和.htaccess文件配合

Apache的Mode Rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求.在大多数情况下,它和.htaccess文件配合使用.比如本篇文章的URL(http://dancewithnet.com/2010/05/29/making-mod-rewrite-and-htaccess-work-on-mac-os-x)就是Wordpress配合Mod Rewrite模块和.htaccess文件一起实现的,即所谓的固定链接(Permalinks). Windows 在Wi

.htaccess文件设置技巧16则

.htaccess 文件 (Hypertext Access file) 是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能..htaccess 配置文件坚持了Unix的一个文化--使用一个ASCII 的纯文本文件来配置你的网站的访问策略. 这篇文章包括了16个非常有用的小技巧.另外,因为.htaccess 是一个相当强大的配置文件,所以,一个轻微的语法错误会造成你整个网站的故障,所以,在你修改或是替换原有的文件时,一定要备

apache中.htaccess文件的功能写法

access|apache - .htaccess文件(或者"分布式配置文件"提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限制.管理员可以通过Apache的AllowOverride指令来设置.  - 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令.  - .htaccess必须以ASCII模式上传,最好将其权限设置为644.  错误文档的定位  常用的客户端请求错误

Apache指南: .htaccess文件使用手册

因为在一个国外的空间的根文件夹下看到这个.htaccess,搞不懂是干什么的,在落伍论坛找到一篇文章,先转过来放着,以后再慢慢研究,嘿嘿..      Apache指南: .htaccess文件  .htaccess文件提供了针对目录改变配置的方法.    * .htaccess文件    * 工作原理和使用方法    * 使用.htaccess文件的场合    * 指令的生效    * 认证举例    * 服务器端包含举例    * CGI举例    * 疑难解答  top  .htacces