WEB服务器架设-.htaccess.doc_第1页
WEB服务器架设-.htaccess.doc_第2页
WEB服务器架设-.htaccess.doc_第3页
WEB服务器架设-.htaccess.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WEB服务器架设-.htaccess一、工作原理和使用方法1二、使用.htaccess文件的场合2三、认证举例3四、服务器端包含举例3五、CGI举例4六、疑难解答4.htaccess文件提供了针对目录改变配置的方法。 相关模块 coremod_authmod_cgimod_includemod_mime相关指令AccessFileNameAllowOverrideOptionsAddHandlerSetHandlerAuthTypeAuthNameAuthUserFileAuthGroupFileRequire一、工作原理和使用方法.htaccess文件(或者分布式配置文件)提供了针对目录改变配置的方法:在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。说明:如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。 例如,需要使用.config,则可以在/etc/httpd/conf/httpd.conf中按以下方法配置:AccessFileName .config 允许放在这些文件中的指令取决于AllowOverride指令, 此指令按类别决定了.htaccess文件中哪些指令才是有效的。 如果一个指令允许放在.htaccess文件中,则,在本手册的说明中,此指令会有一个覆盖段, 其中说明了为使此指令生效而必须在AllowOverride指令中设置的值。 例如,本手册对AddDefaultCharset指令的说明表明了, 此指令可以用于.htaccess文件(见 Context一行),而Override一行是FileInfo, 那么为使.htaccess中的此指令有效,则至少要设置AllowOverride FileInfo。例子:Context: server config, virtual host, directory, .htaccess Override: FileInfo 如果不能确定一个特定的指令是否允许用于.htaccess文件, 可以查阅手册中对指令的说明,看在Context(“上下文”)行中是否有.htaccess.。二、使用.htaccess文件的场合1、一般情况下,不应该使用.htaccess文件,除非你对主服务器配置文件没有存取权限。 2、有一种很常见的误解,认为用户认证只能通过.htaccess文件实现,但并不是这样, 把用户认证写在主服务器配置中是完全可行的,而且是一种很好的方法。在内容提供者需要针对目录改变服务器的配置而对服务器系统没有root权限时, 则应该使用.htaccess文件。 如果服务器管理员不愿意频繁修改配置, 则可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在一个机器上 宿主多个用户站点,而又希望用户可以自己改变配置的情况下。虽然如此,一般都应该尽可能地避免使用.htaccess文件。 任何希望放在.htaccess文件中的配置,都可以放在主服务器的段中,而且更高效。3、避免使用.htaccess文件有两个主要原因。首先是性能,其次是安全。 4、/www/htdocs/example/.htaccess文件中放置指令与在主服务器配置文件中段中放置相同指令, 是等效的。/www/htdocs/example中的.htaccess:/www/htdocs/example中.htaccess文件的内容AddType text/example .exm httpd.conf文件中的段AddType text/example .exm 但是,把这个配置放置在服务器配置文件中则更加高效,因为只需要在Apache启动时读取一次, 而不是在有文件请求时每次都读取。将AllowOverride设置为none可以完全禁止使用.htaccess文件。AllowOverride None 5、指令的生效.htaccess文件中的配置指令作用于.htaccess文件所在的目录及其所有子目录, 但是一个特定目录下的.htaccess文件中的指令可能会覆盖其更高级目录中的 .htaccess文件的指令:子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。例如:目录/www/htdocs/example1中的.htaccess文件有如下内容:Options +ExecCGI (注意: 必须设置AllowOverride Options以允许在.htaccess文件中使用 Options指令。)在目录/www/htdocs/example1/example2中的.htaccess文件有如下内容:Options Includes 由于第二个.htaccess文件的存在,/www/htdocs/example1/example2中 的CGI执行是不允许的,而只允许Options Includes,它完全覆盖了之前的设置。三、认证举例有一种常见的误解, 认为实现密码认证必须要使用.htaccess文件,其实不是这样。把认证指令放在主服务器配置文件的段中,是一个更好的方法, 而.htaccess文件应该仅仅用于无权访问主服务器配置文件的时候。 有此声明在先,如果你仍然需要使用.htaccess文件,请看以下说明。1、必须设置AllowOverride AuthConfig以允许这些指令生效2、.htaccess文件的内容:AuthType BasicAuthName Password RequiredAuthUserFile /www/passwords/password.fileAuthGroupFile /www/passwords/group.fileRequire Group admins 注意,必须设置AllowOverride AuthConfig以允许这些指令生效四、服务器端包含举例.htaccess文件的另一个常见用途是允许一个特定目录的服务器端包含(Server Side Includes), 可以在需要的目录中放置.htaccess文件,并如下配置:Options +IncludesAddType text/html shtmlAddHandler server-parsed shtml 注意:必须同时设置AllowOverride Options和 AllowOverride FileInfo使这些指令生效。五、CGI举例最后,可以通过.htaccess文件允许在特定目录中执行CGI程序,需按如下配置:Options +ExecCGIAddHandler cgi-script cgi pl 另外,如下,可以使给定目录下所有文件被视为CGI程序:Options +ExecCGISetHandler cgi-script 注意:必须设置AllowOverride Options使这些指令生效。六、疑难解答如果在.htaccess文件中写入了配置指令但不起作用,可能有多种原因。最常见的原因是,AllowOverride指令没有被正确设置, 必须确保没有对此文件区域设置AllowOverride None。有一个很好的测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论