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

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]

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

5、是否开启文件列表显示的指令:

Options -Indexes 或者 Options +Indexes

的indexes前面一定要添加“+”或者“-”,否则将会覆盖主机上级配置文件定义的其它重要设置。而这项在网上广为流传的“htaccessEditor”编辑器中竟然出现错误了。因此造成很多朋友发现使用这项功能后网站无法浏览了。原因是这样的:

Options后面的参数全部写上应该是:options (+-)ExecCGI  (+-)FollowSymLinks  (+-)Includes  (+-)Indexes……如果不在参数的前面添加“+”或“-”,将会把指令默认为除了这个参数为开启,其它的参数都为关闭,与Linux下的 Chmod命令类似。这就造成了把ExecCGI也关闭了,将会导致所有页面无法执行脚本。

上面所述这些常见错误都是我在编写“htaccess文件在线编辑器”时发现的,并且其中也有很多是网友们给我提的建议,在此我表示感谢!

同时,我给大家附上了几款非常好用的htaccess在线编辑器供大家收藏使用:

1、.htaccess Generator:http://developers.evrsoft.com/tools-htaccess-generator.shtml

这款编辑器的特点是可以方便的定义图片防盗链、404错误页面地址还有图片缓存控制与密码保护,但是是英文页面,且功能单一,不能进行灵活的设置。

2、.htaccess file generator:http://cooletips.de/htaccess/

这款编辑器功能强大,是在线编辑器的鼻祖。但是页面凌乱,语义模糊,没有任何说明,非常容易填写错误。但其强大的功能仍然是高手们的不二选择。

3、Htaccess Disable Hotlinking Code Generator:http://www.htmlbasix.com/disablehotlinking.shtml

这是专门用于生成图片防盗链的工具,因此,它也就有一个唯一的图片防盗链功能,但是做得非常细致,也非常灵活。可以详细的定义图片文件类型、目标图片的地址等参数。

4、.htaccess文件在线生成器:http://www.wangqu.org/htaccess/

客观的说这是在众多生成器中一款功能最全,最人性化的在线编辑器了。中文界面,包含图片防盗链、MIME类型添加、访问权限控制、自定义默 认页面、自定义各种错误文档、网页重定向、图片缓存等九大功能,每一款功能都经过仔细的调试,并且有详细的填写示例与功能说明供参考。同时,它还有下载生 成的.htaccess文件的功能,避免了自己建立文件造成的各种错误。

3 comments to (转)总结新手容易犯的htaccess文件五大优化错误

Leave a Reply to santhtony

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Protected by WP Anti Spam