apache 2.0以上中的acceptpathinfo设置

apache 2.0以上中的acceptpathinfo设置

今天安装phparticle,发现许多网页链接打开错误,仔细一看,链接都变成了
.../sort.php/3 而如果改成 .../sort.php?sortid=3就可以了,看了文档才知道,从APACH2.0.30以上要在http.conf中添加AcceptPathInfo On这一条。即原来的

<Directory />
? Options FollowSymLinks includes
? AllowOverride None
</Directory>
改成
<Directory />
? Options FollowSymLinks includes
? AllowOverride None
  AcceptPathInfo On
</Directory>


有关说明见:http://linux.dalouis.com/doc/apache2.0/mod/core.html
此指令决定了是否接受包含在某确定文件(或是某现有目录的一个不存在的文件)后附加的路径信息。此路径信息将在脚本里以PATH_INFO环境变量的形式出现。

比如说,假设/test/所指向的目录下只包括一个文件:here.html。那么对/test/here.html/more和/test/nothere.html/more的请求都会得到/more这样的PATH_INFO变量。

AcceptPathInfo指令的三个参数为:

off
仅当一个请求映射到一个真实存在的路径时,它才会被接受。这样,如上述/test/here.html/more这样的在真实文件名后跟随一个路径名的请求将会返回一个404 NOT FOUND错误。
on
如果前面的路径映射到一个真实存在的文件,此请求将被接受。如果/test/here.html映射着一个有效的文件,上例中/test/here.html/more这个请求就会被接受。
default
对于附加路径名的请求的处理方式由其对应的处理器来决定。对应普通文本的核心处理器默认会拒绝PATH_INFO。而用于伺服脚本的处理器,比如cgi-script和isapi-isa,默认会接受PATH_INFO。


你可能感兴趣的:(网页,信息,includes)