Junzizhiai 2012-03-26
.htaccess是什么
概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。
通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
Unix、Linux系统或者是任何版本的ApacheWeb服务器都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自己的.htaccess文件。
国内的大多数虚拟主机就没有这个功能。我所知道的提供这个功能的有康盛世纪(就是Discuz的论坛服务商)。
笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
启用.htaccess
启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config,则可以在服务器配置文件中按以下方法配置:AccessFileName.config。
如何让自己的本地Apache服务器支持".htaccess"呢?其实只要简单修改一下apache的httpd.conf设置就可以让APACHE支持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找<Directory "/usr/local/apache/htdocs/pub/html/"> Options FollowSymLinks AllowOverride None </Directory>
,其中
"/usr/local/apache/htdocs/pub/html/"
是你指定要过滤的目录,
改为
<Directory "/usr/local/apache/htdocs/pub/html/"> Options FollowSymLinks AllowOverride All </Directory>
就可以了.
如何建立.htaccess文件
.htaccess就是一个普通的文本文件,这样的文件在windows操作系统中无法建立,可以先建立一个htaccess.txt文件,上传到服务器以后再修改名车即可。(放在<Directory "/usr/local/apache/htdocs/pub/html/">指定的目录中).htaccess使用实例
屏蔽IP
禁止特定的IP
Order allow,deny Allow from all Deny from 218.3.207.197 Deny from 218.241.89.98 Deny from 113.128.3.135 Deny from 222.35.87.25
只允许特定的IP访问
order deny,allow deny from all allow from 61.228.209.85