Apache服务器htaccess总结
2013-11-12 17:54
330 查看
htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
Unix、Linux系统或者是任何版本的ApacheWeb服务器都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自己的.htaccess文件。
启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config,则可以在服务器配置文件中按以下方法配置:AccessFileName.config。
笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
1.[root@localhosthtml]#vi.htaccess//在apache根目录下建立一个.htaccess文件内容如下所示:
AuthType Basic
AuthName "zh888.com"
AuthUserFile /etc/httpd/conf/htpasswd
Require valid-user
这里的AuthName指的是要求你输入用户名和密码时的提示信息可以随便写,AuthType表示需要的认证类型,在这个例子中,我只想弹出一个对话框,要求输入用户名和密码,因此设置为Basic,AuthUserFile指的是保存用户名和密码的文件位置,在这个例子中指的是htpasswd文件,位置和我们的htaccess文件相同,Require valid-user指定只有htpasswd文件包含的合法用户才能访问, 也可以写成Require user zh888
2.[root@localhosthtml]#htpasswd -bc htpasswd zh888 123456//在当前目录创建htpasswd文件用户名为zh888密码为123456.
Adding password for user zh888
![](http://img1.51cto.com/attachment/201311/175601707.jpg)
![](http://img1.51cto.com/attachment/201311/175604433.jpg)
3.[root@localhosthtml]#vi/etc/httpd/conf/httpd.conf
#
#AllowOverridecontrolswhatdirectivesmaybeplacedin.htaccessfiles.
#Itcanbe"All","None",oranycombinationofthekeywords:
#OptionsFileInfoAuthConfigLimit
#
AllowOverrideAll//修改None为All重启apache服务即可。
遇到的问题在使用ssh客户端创建.htaccess文件的时候,在web认证输入密码的时候老是进不去,原因.htaccess文件问题,可能和搜狗输入法有关系。重新创建.htaccess文件问题解决..htaccess文件和htpasswd文件都可以整合到httpd.conf文件中。为了安全也可以吧htpasswd文件不要放在网站根目录下,可以放在安全的地方指定绝对路径即可。.htaccess应用在网站后台防止别人进入。
本文出自 “有志者事竟成!” 博客,请务必保留此出处http://zh888.blog.51cto.com/1684752/1324022
Unix、Linux系统或者是任何版本的ApacheWeb服务器都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自己的.htaccess文件。
启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config,则可以在服务器配置文件中按以下方法配置:AccessFileName.config。
笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
1.[root@localhosthtml]#vi.htaccess//在apache根目录下建立一个.htaccess文件内容如下所示:
AuthType Basic
AuthName "zh888.com"
AuthUserFile /etc/httpd/conf/htpasswd
Require valid-user
这里的AuthName指的是要求你输入用户名和密码时的提示信息可以随便写,AuthType表示需要的认证类型,在这个例子中,我只想弹出一个对话框,要求输入用户名和密码,因此设置为Basic,AuthUserFile指的是保存用户名和密码的文件位置,在这个例子中指的是htpasswd文件,位置和我们的htaccess文件相同,Require valid-user指定只有htpasswd文件包含的合法用户才能访问, 也可以写成Require user zh888
2.[root@localhosthtml]#htpasswd -bc htpasswd zh888 123456//在当前目录创建htpasswd文件用户名为zh888密码为123456.
Adding password for user zh888
![](http://img1.51cto.com/attachment/201311/175601707.jpg)
![](http://img1.51cto.com/attachment/201311/175604433.jpg)
3.[root@localhosthtml]#vi/etc/httpd/conf/httpd.conf
#
#AllowOverridecontrolswhatdirectivesmaybeplacedin.htaccessfiles.
#Itcanbe"All","None",oranycombinationofthekeywords:
#OptionsFileInfoAuthConfigLimit
#
AllowOverrideAll//修改None为All重启apache服务即可。
遇到的问题在使用ssh客户端创建.htaccess文件的时候,在web认证输入密码的时候老是进不去,原因.htaccess文件问题,可能和搜狗输入法有关系。重新创建.htaccess文件问题解决..htaccess文件和htpasswd文件都可以整合到httpd.conf文件中。为了安全也可以吧htpasswd文件不要放在网站根目录下,可以放在安全的地方指定绝对路径即可。.htaccess应用在网站后台防止别人进入。
本文出自 “有志者事竟成!” 博客,请务必保留此出处http://zh888.blog.51cto.com/1684752/1324022
相关文章推荐
- win7 下让apache服务器指向特定目录
- Windows下配置SVN+Apache
- Apache Commons工具集简介
- GC - 成为Java GC专家系列(4) ——Apache的MaxClients参数对系统的影响
- PHP mysql apache 环境搭配及相关
- Apache url 重写/静态化/mod_rewrite
- windows 7+Apache+PHP无法加载php_curl.dll解决办法
- Apache子域名解析实现方法(Linux)
- Apache和weblogic整合
- 搭建Linux(centos5.3)+Apache2+Mysql5+Php5+zabbix1.8.5系统环境实现网络状况监控
- ubuntu下安装配置apache2+php5+mysql5
- windows下Apache+mysql+php+phpMyAdmin的安装及配置
- Linux 安装apache
- Apache-配置详解
- Apache Hadoop 源代码编译环境搭建
- apache 编码设置解决
- 关于apache服务器支持断点续传的一点理解
- mac重启apache
- class"org.apache.commons.dbcp.BasicDataSource"not found出错的解决办法
- 11个实用的Apache .htaccess配置