apache的AllowOverride以及Options使用详解_Linux

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

时间: 2024-07-28 21:54:00

apache的AllowOverride以及Options使用详解_Linux的相关文章

linux网站服务Apache的安装与配置方法详解_Linux

这篇文章介绍下linux网站服务apache的安装与配置方法,包括挂载光盘,安装http服务,管理httpd服务,httpd的配置文件几大部分.具体详情可以参考下文. 1.挂载光盘 自己习惯将光盘挂载在/media/cdrom目录,在做本地yum源的时候此目录为默认目录之一 [root@localhost /]# mount /dev/cdrom /media/cdrom/ 2.安装httpd服务(如果本地yum源已经搭建好就直接进行这一步,没有的话需要搭建,前面的文章有提到yum源的搭建) [

Apache服务器主配置文件httpd.conf详解_Linux

# # Apache服务器主配置文件. 包括服务器指令的目录设置. # 详见 <URL:http://www.apache.org/docs/> # # 请在理解用途的基础上阅读各指令. # # 再读取此文档后,服务器将继续搜索运行 # E:/Program Files/Apache Group/Apache/conf/srm.conf # E:/Program Files/Apache Group/Apache/conf/access.conf # 除非用ResourceConfig或Acc

apache密码生成工具htpasswd使用详解_Linux

一.htpasswd的作用与安装 htpasswd是apache的一个工具,该工具主要用于建立和更新存储用户名.密码的文本文件,主要用于对基于http用户的认证. htpasswd的安装很简单,它是随apache的安装而生成.这点与ab工具是一样的,这里就不详细说明了 如果apache是通过RPM的yum方式进行安装的话,该命令存放在/usr/bin/目录下,如下: which htpasswd /usr/bin/htpasswd 如果apache是源码方式安装的话,该命令存放在apache安装

Apache MySQL PHP 配置文件中文翻译详解

Apache 配置文件 httpd.conf 中文详解 ## 基于 NCSA 服务器的配置文件 由 Rob McCool 编写,龙子翻译## Apache服务器主配置文件.  包括服务器指令的目录设置.# 详见 <URL:http://www.apache.org/docs/>## 请在理解用途的基础上阅读各指令.## 再读取此文档后,服务器将继续搜索运行# E:/Program Files/Apache Group/Apache/conf/srm.conf# E:/Program Files

PHP的服务器Apache中httpd.conf 的中文详解

ServerRoot "/Apache" #可以用绝对路径 e:\web\apache #ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下. PidFile logs/httpd.pid #PidFile指定的文件将记录httpd守护进程的进程号,由于httpd能自动复制其自身,因此系统中有多个httpd进程,但只有一

Apache防DDOS模块mod_evasive安装和配置方法详解_Linux

一.mod_evasive 介绍mod_evasive 是Apache(httpd)服务器的防DDOS的一个模块.对于WEB服务器来说,是目前比较好的一个防护DDOS攻击的扩展模块.虽然并不能完全防御DDOS攻击,但在一定条件下,还是起到缓服Apache(httpd)服务器的压力.如配合iptables.硬件防火墙等防火墙设备配合使用,可能有更好的效果.mod_evasive 的官方地址: http://www.zdziarski.com/二.mod_evasive 工作原理Apache模块mo

Apache下prefork,worker,event模式详解

简单来讲: 1. prefork 中没有线程的概念,是多进程模型,一个进程处理一个连接:稳定:响应快.其缺点是在连接数比较大时就非常消耗内存. 2. worker 是多进程多线程模型,一个进程有多个线程,每个线程处理一个连接.与prefork相比,worker模式更节省系统的内存资源.不过,需要注意worker模式下的Apache与php等程序模块的兼容性. 3. event 是worker模式的变种,它把服务进程从连接中分离出来,在开启KeepAlive场合下相对worker模式能够承受的了更

CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装教程详解_Linux

每次搭建新服务器,都要来来回回把这些包再装一下,来来回回搞了不下20遍了吧,原来都是凭经验,配置过程中重复入坑是难免的,故写此文做个备忘.虽然有像xampp这样的集成包,但是在生产环境的Linux发行版上,还是通过包管理工具安装会放心.这次新买的服务器是CentOS 7(7.2)系统,相关配置也都以此版本为主,为方便操作,直接使用root用户配置. CentOS 7的源比较旧,自带的PHP是PHP 5.4,我们想要的是PHP 5.6,这就需要执行以下命令添加额外的remi源. rpm -ivh

apache mysql php环境配置方法详解

Windows: 为了以后重装系统方便,建议不要安装在系统盘,这里安装在D盘.可以是根目录,亦可以是其它目录,但最好目录名中不要有空格,这样可以避免某些错误的出现. 配置Apache和PHP 打开Apache的配置文件httpd.conf(Apache安装文件夹下conf子文件夹中),找到DocumentRoot "X:/xxx/htdocs" 和 <Directory "X:/xxx/htdocs"> (引号内因个人安装地址而不同),将引号内改为网站所