.htaccess设置指南经典说明

2019-10-16 10:34:34王旭



order allow,deny  
deny from 210.10.56.32  
deny from 219.5.45.  
allow from all  

第二行拒绝某个IP,第三行拒绝某个IP段,也就是219.5.45.0~219.2.45.255  

想要拒绝所有人?用deny from all好了。不止用IP,也可以用域名来设定。  

保护.htaccess文档  

在使用.htaccess来设置目录的密码保护时,它包含了密码文件的路径。从安全考虑,有必要把.htaccess也保护起来,不让别人看到其中的内容。虽然可以用其他方式做到这点,比如文档的权限。不过,.htaccess本身也能做到,只需加入如下的指令:  

<Files .htaccess>  
order allow,deny  
deny from all  
</Files>  

URL转向  

我们可能对网站进行重新规划,将文档进行了迁移,或者更改了目录。这时候,来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下,可以通过如下指令来完成旧的URL自动转向到新的地址:  

Redirect /旧目录/旧文档名 新文档的地址  

或者整个目录的转向:  

Redirect 旧目录 新目录  

改变缺省的首页文件  

一般情况下缺省的首页文件名有default、index等。不过,有些时候目录中没有缺省文件,而是某个特定的文件名,比如在pmwiki中是pmwiki.php。这种情况下,要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名:  

DirectoryIndex 新的缺省文件名  

也可以列出多个,顺序表明它们之间的优先级别,例如:  

DirectoryIndex filename.html index.cgi index.pl default.htm  

防止盗链  

如果不喜欢别人在他们的网页上连接自己的图片、文档的话,也可以通过htaccess的指令来做到。  

所需要的指令如下:  

RewriteEngine on  
RewriteCond % !^$  
RewriteCond % !^http://(www/.)?mydomain.com/.*$ [NC]  
RewriteRule .(gif|jpg)$ - [F]  

如果觉得让别人的页面开个天窗不好看,那可以用一张图片来代替:  

RewriteEngine on  
RewriteCond % !^$  
RewriteCond % !^http://(www/.)?mydomain.com/.*$ [NC]  
RewriteRule .(gif|jpg)$ http://www.mydomain.com/替代图片文件名 [R,L]  

一. 自定义404,401,等错误  
1. 
首先建立一个名为: .htaccess  
写入以下内容