apache的AllowOverride以及Options使用详解

 更新时间:2012年11月03日 21:47:31   作者:  
通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置
AllowOverride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写。对于AllowOverride,还可以对它指定如下一些能被重写的指令类型.

通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override ,即

复制代码 代码如下:

<Directory />
AllowOverride None
</Directory>


在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中。

而对于 URL rewrite 来说,至少需要把目录设置为

复制代码 代码如下:

< Directory /myblogroot/>
AllowOverride FileInfo
< /Directory>


2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride All

复制代码 代码如下:

Alias /php "c:/web/php/"
<Directory "c:/web/php/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>


这样通过http://localhost:8080/php/访问时,/php/和其下面的子目录将支持url rewrite

1  AuthConfig  允许使用所有的权限指令,他们包括AuthDBMGroupFile AuthDBMUserFile  AuthGroupFile  AuthName AuthTypeAuthUserFile和Require

2  FileInfo    允许使用文件控制类型的指令。它们包括AddEncoding AddLanguage  AddType  DEfaultType ErrorDocument LanguagePriority

3  Indexes     允许使用目录控制类型的指令。它们包括AddDescription  AddIcon  AddIconByEncoding AddIconByType  DefaultIcon  DirectoryIndex  FancyIndexing  HeaderName  IndexIgnore  IndexOptions ReadmeName

4  Limit       允许使用权限控制指令。它们包括Allow Deny和Order

5  Options     允许使用控制目录特征的指令.他们包括Options 和XBitHack

Options

1  All         准许以下除MultiViews以外所有功能

2  MultiViews  允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通过/foo来访问到它,这对于一个多语言内容的站点比较有用

3  Indexes     若该目录下无index文件,则准许显示该目录下的文件以供选择

4  IncludesNOEXEC  准许SSI,但不可使用#exec和#include功能

5  Includes    准许SSI

6  FollowSymLinks  在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名,如果在<Local>;标记内设置,该选项会被忽略

7  SymLinksIfOwnerMatch  在该目录中仅仅跟踪本站点内的链接

8  ExecCGI     在该目录下准许使用CGI

相关文章

  • 限制 Apache日志文件大小的方法

    限制 Apache日志文件大小的方法

    access.log,件在 WEB 服务器运行一段时间之后会达到几十兆甚至上百兆,如果Apache运行有错误,error.log也会增大到几十兆,我们知道系统读写一个大的文本文件是非常耗内存的,因此限定日志文件大小十分必要。
    2009-04-04
  • Linux centos7环境下tomcat安装教程

    Linux centos7环境下tomcat安装教程

    这篇文章主要为大家详细介绍了Linux centos7环境下tomcat的安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 使用openssl 生成免费证书的方法步骤

    使用openssl 生成免费证书的方法步骤

    这篇文章主要介绍了使用openssl 生成免费证书的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 解决linux下zip文件解压乱码问题

    解决linux下zip文件解压乱码问题

    本篇文章主要介绍了解决linux下zip文件解压乱码问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-05-05
  • Ubuntu16.04搭建php5.6Web服务器环境

    Ubuntu16.04搭建php5.6Web服务器环境

    今天小编就为大家分享一篇关于Ubuntu16.04搭建php5.6Web服务器环境,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Linux 查看磁盘IO并找出占用IO读写很高的进程

    Linux 查看磁盘IO并找出占用IO读写很高的进程

    这篇文章主要介绍了Linux 查看磁盘IO并找出占用IO读写很高的进程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Linux调整命令历史方法详解

    Linux调整命令历史方法详解

    这篇文章主要介绍了Linux调整命令历史方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • linux中vi编辑器的练习心得

    linux中vi编辑器的练习心得

    给大家分享一下在linux中练习vi编辑器的心得以及需要避免的一些坑。
    2017-11-11
  • apache设置自动将http跳转到https的方法

    apache设置自动将http跳转到https的方法

    客户中心启用了https的ssl证书,现在需要将原先的http直接跳转到https上。这里为大家提供一个我经常使用到的方法,即使用伪静态功能
    2013-02-02
  • 详解如何在阿里云服务器部署程序并用域名直接访问

    详解如何在阿里云服务器部署程序并用域名直接访问

    这篇文章主要介绍了详解如何在阿里云服务器部署程序并用域名直接访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论