Apache .htaccess文件功能用法介绍
发布:smiling 来源: PHP粉丝网 添加日期:2013-11-25 21:28:42 浏览: 评论:0
.htaccess文件是apache环境中的一个重的功能了,特别是针对有很多空间的服务器,是必须
让每个空间可以自定义.htaccess文件的一些功能的,以下介绍.htaccess的使用方法。.htaccess apache默认是不支持的,如果要支持我们需在于apache中打开。
1,如何让的本地APACHE支持.htaccess
如何让的本地APACHE器支持.htaccess文件呢?其实只要简朴修改一下apache的httpd.conf设置就让APACHE支持.htaccess文件了,来看看操作。
(1)打开httpd.conf(在那里? APACHE目录的CONF目录里面),用文本编纂器打开后,查找
- Options FollowSymLinks
- AllowOverride None
改为
- Options FollowSymLinks
- AllowOverride All
(2)去掉下面的注释
- LoadModule rewrite_module modules/mod_rewrite.so
将以下相应代码放到对应目录中的.htaccess文件,即可实现相应功能。
关闭错误显示:
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0
只显示PHP错误:
php_flag display_errors on
php_flag display_startup_errors on
php_value error_reporting 2047
其中,“2047”为要显示的错误的级别,详细表格如下:
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT
4096 E_RECOVERABLE_ERROR
要把错误保存到日志文件中,可以这样设置:
- # enable PHP error logging
- php_flag log_errors on
- php_value error_log /home/path/public_html/domain/PHP_errors.log
然后,可以设置不允许访问.log文件:
- # prevent access to PHP error log
- Order allow,deny
- Deny from all
- Satisfy All
设置错误日志的最大体积,以bytes为单位:
- # general directive for setting max error size
- log_errors_max_len integer
综合上述,.htaccess的PHP错误显示设置汇总:
- # PHP error handling for production servers
- # disable display of startup errors
- php_flag display_startup_errors off
- # disable display of all other errors
- php_flag display_errors off
- # disable html markup of errors
- php_flag html_errors off
- # enable logging of errors
- php_flag log_errors on
- # disable ignoring of repeat errors
- php_flag ignore_repeated_errors off
- # disable ignoring of unique source errors
- php_flag ignore_repeated_source off
- # enable logging of php memory leaks
- php_flag report_memleaks on
- # preserve most recent error via php_errormsg
- php_flag track_errors on
- # disable formatting of error reference links
- php_value docref_root 0
- # disable formatting of error reference links
- php_value docref_ext 0
- # specify path to php error log
- php_value error_log /home/path/public_html/domain/PHP_errors.log
- # specify recording of all php errors
- php_value error_reporting 999999999
- # disable max error string length
- php_value log_errors_max_len 0
- # protect error log by preventing public access
- Order allow,deny
- Deny from all
- Satisfy All
以下则是适合开发者应用的设置:
- # PHP error handling for development servers
- php_flag display_startup_errors on
- php_flag display_errors on
- php_flag html_errors on
- php_flag log_errors on
- php_flag ignore_repeated_errors off
- php_flag ignore_repeated_source off
- php_flag report_memleaks on
- php_flag track_errors on
- php_value docref_root 0
- php_value docref_ext 0
- php_value error_log /home/path/public_html/domain/PHP_errors.log
- php_value error_reporting 999999999
- php_value log_errors_max_len 0
- Order allow,deny
- Deny from all
- Satisfy All
一、错误文档的定位
(1)、常用的客户端请求错误返回代码:
(2)、常见的服务器错误返回代码:
500 Internal Server Error
(3)、用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下,人们可以专门设立一个目录,例如errors放置这些页面。然后再.htaccess中,加入如下的指令:
ErrorDocument 404 /errors/notfound.html ErrorDocument 500
/errors/internalerror.html 一条指令一行。
上述第一条指令的意思是对于404,也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为:
ErrorDocument 错误代码 /目录名/文件名.扩展名 如果所需要提示的信息很少的话,不必专门制作页面,直接在指令中使用HTML号了,例如下面这个例子:
- ErrorDocument 401 "<body bgcolor=#ffffff>
- 你没有权限访问该页面!
- </body>"
二、文档访问的密码保护要利用.htaccess对某个目录下的文档设定访问用户和对应的密码,首先要做的是生成一个.htpasswd的文本文档,例如:
zheng:y4E7Ep8e7EYV 这里密码经过加密,用户可以自己找些工具将密码加密成.htaccess支持的编码。该文档最好不要放在www目录下,建议放在www根目录文档之外,这样更为安全些。
有了授权用户文档,可以在.htaccess中加入如下指令了:
AuthUserFile .htpasswd的服务器目录 AuthGroupFile /dev/null (需要授权访问的目录) AuthName EnterPassword AuthType Basic (授权类型) require user wsabstract (允许访问的用户,如果希望表中所有用户都允许,可以使用 require valid-user)
注:括号部分为学习时候自己添加的注释
三、拒绝来自某个IP的访问
如果我不想某个政府部门访问到我的站点的内容,那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。 例如:
order allow,deny deny from 210.21.112.43deny from 219.146.95 allow from all 注: 第二行拒绝某个IP,第三行拒绝某个IP段,也就是219.146.95.0~219.146.95.255 想要拒绝所有人?用deny from all好了。不止用IP,也可以用域名来设定。
四、保护.htaccess文档
在使用.htaccess来设置目录的密码保护时,它包含了密码文件的路径。从安全考虑,有必要把.htaccess也保护起来,不让别人看到其中的内容。虽然可以用其他方式做到这点,比如文档的权限。不过,.htaccess本身也能做到,只需加入如下的指令:
- <Files .htaccess> order allow,deny deny from all </Files>
五、URL转向
我们可能对网站进行重新规划,将文档进行了迁移,或者更改了目录。这时候,来自seo/seo.html" target="_blank">搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下,可以通过如下指令来完成旧的URL自动转向到新的地址:Redirect /旧目录/旧文档名 新文档的地址 或者整个目录的转向: Redirect 旧目录 新目录 改变缺省的首页文件 一般情况下缺省的首页文件名有default、index等。不过,有些时候目录中没有缺省文件,而是某个特定的文件名,比如在pmwiki中是pmwiki.php。这种情况下,要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名:
DirectoryIndex 新的缺省文件名 也可以列出多个,顺序表明它们之间的优先级别.
Tags: Apache htaccess 文件
相关文章
- ·在apache下限制每个虚拟主机的并发数(2013-11-14)
- ·APACHE禁止图片盗链(2013-11-14)
- ·Apache下的虚拟主机设置(2013-11-14)
- ·Apache中禁止IP段,在httpd.conf中的写法(2013-11-14)
- ·用Apache的rewrite生成伪静态页面(2013-11-14)
- ·HTTP/Apache 错误代码汇总(2013-11-14)
- ·Apache性能优化技巧(2013-11-22)
- ·用Session代替Apache服务器验证(2013-11-22)
- ·Apache中httpd.conf的中文件详解(2013-11-22)
- ·Apache中.Htaccess文件的功能写法(2013-11-22)
- ·如何让apache支持.htaccess并设置404错误页(2013-11-22)
- ·apache 虚拟主机配置[别名配置方法](2013-11-22)
- ·apache 服务器网站不能访问(2013-11-22)
- ·apache教程:.htaccess用法(2013-11-22)
- ·Apache二级域名配置方法(2013-11-22)
- ·apache 封IP基础教程(2013-11-22)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)