详情页

httpd.conf配置参数的介绍

时间:2023年12月15日

编辑:佚名

 < Directory />
AllowOverride None
< /Directory>
通 常利用Apache的rewrite模块对URL进行重写的时候,rewrite规则会写在.htaccess文件里。但要使apache 能够正常的读 取.htaccess 文件的内容,就必须对.htaccess所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成 “None”,不允许任何Override。在 AllowOverride 设置为 None 时,.htaccess 文件将被完全忽略。当此指令设置为All时,所有具有“.htaccess” 作用域的指令都允许出现在.htaccess 文件中。而对于 URL rewrite 来说,至少需要把目录设置为
 < Directory /blogRoot/>
AllowOverride FileInfo
< /Directory>
AllowOverride 参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略. htacess文件,如果设置为 All,那么所有在.htaccess文件里有的指令都将被重写。对于AllowOverride,还可以对它指定如下一些能被重写的指令类型.
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文件,则准许显示该目录下的文件以供选择,禁止目录浏览可以删这项或“-Indexes”。
例子:
 <Directory />
Options -Indexes FollowSymLinks //或者写为“Options FollowSymLinks”
AllowOverride None
Order deny,allow
Deny from all
</Directory>
4 IncludesNOEXEC    准许SSI,但不可使用#exec和#include功能
5 Includes    准许SSI
6 FollowSymLinks    在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名,如果在<Local>标记内设置,该选项会被忽略
7 SymLinksIfOwnerMatch    在该目录中仅仅跟踪本站点内的链接
8 ExecCGI    在该目录下准许使用CGI
<Directory ></Directory>中指令的含义
<Directory "/home/macg/www/test">   
        Options All            
        AllowOverride all                      
</Directory>
  Options指令-------目录的访问特性
option  none    禁止对目录的所有操作
option all      允许对目录的所有操作,ALL---所有操作
option ExecCGI    对该目录,可以执行cgi脚本
option Indexes    允许访问该目录(而该目录没有index.html)时,返回目录下的文件列表                        
option FollowSymLinks       只允许对目录的FollowSymLinks操作
   AllowOverride指令
None    不读取.htaccess
all    all----允许.htaccess所有指令,缺省是all
Limit    .htaccess函盖具体限定的主机(allow,deny)
AuthConfig    .htaccess函盖跟认证有关指令(AuthType,AuthName) 
<Directory ></Directory> 对下面的所有子目录也生效 所以httpd.conf中先对根目录/进行配置,等于是设置缺省配置 
httpd.conf中先对根目录/进行配置,等于是设置缺省配置
<Directory />
Options FollowSymLinks 禁止对目录的访问(option只允许对目录的FollowSymLinks操作)
AllowOverride None 不读取.htaccess
Order deny,allow      deny all Deny from all
</Directory>
<Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks 只允许访问index和连接
AllowOverride None
Order allow,deny 承接父目录(/)的deny all,这里也是deny all
Allow from all
</Directory>
order allow deny ————-httpd.conf中封IP之类的操作
Apache模块 mod_authz_host
<Directory /docroot>
Order Deny,Allow
Deny from ... Allow from ...
</Directory>
注意顺序: 除了后面allow的,其他都deny 典型的封IP
Order Allow,Deny
Allow from all
Deny from 205.252.46.165
注意顺序: 除了后面deny的,其他都allow Deny from 192.168.2 典型的封网段
Apache对于多虚拟主机以及多虚拟路径的配置
ServerName localhost
<Directory />
AllowOverride none
Require all denied
</Directory> DocumentRoot "/home/work/" ## 保证所有的项目都放在/home/work/目录, 该目录只做配置
<Directory "/home/work/">
Options None
AllowOverride None
Require all denied
</Directory>
httpd-vhosts.conf 首先第一件事就是指定默认的DocumentRoot
# 没有商量, 必须放在httpd.conf中申明的根路径 # 不需要severName配置
<VirtualHost 127.0.0.1:8800>
DocumentRoot "/home/work/www/htdocs"
<Directory /home/work/www/htdocs>
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
##如果不需要多主机支持,到此为止
添加虚拟主机,虚拟目录等等
## 说明: local.baidu.com 为第一个主机名, 如果多个域名映射设置ServerAlias即可
## Alias 注意“/”的位置
<VirtualHost local.baidu.com:8800>
DocumentRoot "/home/work/workspace"
ServerName local.baidu.com
# ServerAlias local.baidu.com.cn local.baidu.cn
<Directory /home/work/workspace>
Options FollowSymLinks
AllowOverride none
Require all granted
</Directory>
Alias /phpMyAdmin "/home/work/www/htdocs/phpMyAdmin/"
# 添加一个日志分析, rotatelogs需要自己安装
LogFormat "{method:\"%m\",state:\"%s\",protocol:\"%H\",url:\"%U\",time:\"%{%Y-%m-%d %T}t\",ua:\"%{User-Agent}i\",query:\"%q\",refer:\"%{Referer}i\",server:\"%V\"}" seo CustomLog "|/usr/sbin/rotatelogs logs/seo_%Y%m%d.log 86400 480" seo
</VirtualHost> ## 同上其他主机配置
当然对于该目录下个各种配置属性 不过下面这个是2.2的属性 在2.4中进行了少许的变更 所以2.4还是要查询文档 不过有下面的解释打底应该很容易
Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合
Directory, Location, Files等),用来控制目录和文件的访问授权。
所以,最常用的是:
Order Deny,Allow
Allow from All
注意“Deny,Allow”中间只有一个逗号,也只能有一个逗号,有空格都会出
错;单词的大小写不限。上面设定的含义是先设定“先检查禁止设定,没有
禁止的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直
接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置,开
放所有内容的访问权
apache httpd.conf 中的User 和Group的
http所属用户和所属组; 追问 这两项是由我们手动配置的 还是 有系统自动生成的 不同的所属分组 有什么影响作用 追答 如果你想apache用别的用户身份来跑,就需要设置User和Group为那个用户和他的组,系统默认都是apache用户
相关文章
猜你需要