.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 »

6 Responses to “.htaccess使用要点”

  • reamo says:

    规范www的那段代码要放在哪里呢?还有你知道怎么弄个404页面

  • kyxtktcu says:

    这里说的都是在 .htaccess设置,如果你用的是独立主机,在httpd.conf里面设置也可以

    404也可以通过.htaccess来指定,而且服务器一般已经指定过了,一般是 404.shtml 或者 404.html

  • vaeye says:

    好东西..学习了..

  • feifei says:

    我在Cpanel后台操作重定向的时候,代码为
    RewriteCond %{HTTP_HOST} ^365jieri.cn$
    RewriteRule ^/?$ “http\:\/\/www\.365jieri\.cn\/” [R=301,L]
    跟你的有点不一样,主要是自从我修改了.htaccess后,网站在搜索引擎快照里显示的主页为空白,标题就几个字,很困惑!!!!!

  • kyxtktcu says:

    正则表达式是用在条件匹配上的
    你用我的测试下,应该没问题的

  • 狗狗书籍 says:

    大漠好棒
    搞定了
    那些坏人完蛋了 哇哈哈哈

Leave a Reply