Archive for July 6th, 2009

.htaccess使用要点

网上有一篇流传很广的.htaccess的使用说明,不过存在较多错误,这篇文章主要就是纠正几个重要的错误,同时补充一些其他的重要规则。网上那篇修正后的完整版见: http://kb.idcspy.org/Htaccess

1.Blocking users by IP 根据IP阻止用户访问

这个原文有错误,按照原文设置会得到一个500错误,正确的设置是:

<Files 403.shtml>
order allow,deny
allow from all
</Files>

deny from 1.1.1.1 ;写要封的IP

上面的意思是403.shtml不受影响,下面写要封的IP,原文把顺序搞反了。

这个也可以在cpanel中直接操作。

2.Prevent viewing of .htaccess file 防止.htaccess文件被查看

正确的写法:
<Files .htaccess>

order allow,deny

deny from all

</Files>

这个网上的大部分版本都有错误,大部分版本丢掉了<Files .htaccess> ,结果导致所有文件都被禁止访问。如果用了错误的规则,所有内容都将无法访问。

3.规范www

这个是rewrite的重要应用,原文没有
全部统一到带 www,例如将83blog.com 统一到 www.83blog.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301]
全部统一到不带www,例如将 www.idcspy.org 统一到 idcspy.org
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$ [NC]
RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]

wordpress的rewrite规则以及自带了www规范化,会自动将网址定向到后台设置的地址。

4.防止别人的域名解析到自己的独立IP
RewriteEngine On
RewriteCond %{HTTP_HOST} !(^www\.yourdomain\.com$) [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301]

这个可以完成如下几个功能:
1.如果你的网站绑定多个域名,为了只使用一个域名,就可以设置如上规则,例如网站绑定了 www.idcspy.org www.enmabiz.com 那么为了防止重复的url,就可以把上面的域名设置为www.idcspy.org,这样来自www.enmabiz.com所有的访问都会重定向到www.idcspy.org
2.如果你用的是独立IP,那么别人就可以把它的域名解析到你的IP上,这个时候可以用这个规则,其他所有解析到你的IP上的域名都会转向到你设置的域名上。

Post Footer automatically generated by wp-posturl plugin for wordpress.

July 6th, 2009  in 网站, 服务器技术 6 Comments »