Apache HTTP服务器 2.0版本
为了帮助同志们升级,我们为现在的Apache用户提供了一份重要信息的文档说明。
这些只是一些简要说明,你可以从新特性文档或src/CHANGES
文件中得到更多信息。
PATH_INFO
(在真实文件名后附加路径信息)的处理有了变化。
以前作为处理器而现在作为过滤器出现的模块现在可能不再接受包含PATH_INFO
的请求。
诸如INCLUDES或PHP
的过滤器将在处理核心的最顶层得到实现,从而拒绝包含PATH_INFO
的请求。
你可以用AcceptPathInfo
指令来迫使处理核心接受包含
PATH_INFO
的请求,从而恢复服务器端包含中使用PATH_INFO
的能力。CacheNegotiatedDocs
指令现在使用on或off参数了。
原有的CacheNegotiatedDocs
应该代之以CacheNegotiatedDocs on
。ErrorDocument
指令不再用引号开始的参数来指定文本内容了。
取而代之的是用双引号把文本内容括起来。比如原有的配置:
ErrorDocument 403 "Some Message
ErrorDocument 403 "Some Message"
AccessConfig和
ResourceConfig
指令不复存在了。
现有的这些指令可以用Include
指令代替以实现相同的功能。
如果你使用的是这些指令的默认值而没有把它们放到配置文件里的话,
你可能需要把Include conf/access.conf
和
Include conf/srm.conf
加到你的httpd.conf里面。
为了确保Apache用象以前一样的顺序读取这些配置文件,
应该把Include
指令放到httpd.conf的结束部分,
并将包含srm.conf
的语句放在包含access.conf
的语句的前面。BindAddress
和Port
指令不再存在了。
相同的功能由更加灵活的Listen
指令提供。Apache-1.3中Port
指令的另一功能是设定自指向的URL的端口。
Apache-2.0中对等的是新的ServerName
语法:
它已经被修改成在一条指令里同时为自指向的URL指定服务器名和端口号。ServerType
指令不复存在了。
用于伺服请求的方法现在取决于MPM的选择。目前还没有设计出用于被inetd载入的MPM。AgentLog
,RefererLog
和RefererIgnore
指令的模块mod_log_agent和mod_log_referer被去掉了。
使用mod_log_config
模块中CustomLog
指令的Agent和referer logs仍然有效。AddModule
和ClearModuleList
指令不复存在了。
这些指令原用于确定模块以正确的顺序被激活。
而新的Apache 2.0 API 允许模块明确的指定它们的顺序,
从而这些指令就不再有存在的必要了。FancyIndexing
指令被去掉了,取而代之的是IndexOptions
指令的FancyIndexing
可选项。mod_negotiation
提供的MultiViews内容协商机制
在其默认文件匹配方面变得更加严格了,只匹配允许协商的文件。
可以用MultiviewsMatch
指令恢复到原来的匹配模式。mod_auth_digest
现在是基本模块了。mod_mmap_static
现在被mod_file_cache
代替了。src
目录。
取而代之的是将源代码有逻辑的组织在发行包的主目录下面。
编译后的服务器的安装将从各自的目录下进行。