编程语言
首页 > 编程语言> > 为什么www.example.com/index.php/my/path/here由index.php处理?

为什么www.example.com/index.php/my/path/here由index.php处理?

作者:互联网

我只是很好奇,如何调用apache的功能来指导这样的请求

www.example.com/index.php/my/path/here

到文件index.php?在第一时刻,您可能会认为,如果此请求导致404错误页面将是正确的,因为站点根目录中没有名为index.php的文件夹.

顺便说一句,有没有可能关闭这个Apache功能(如果它是一个功能),这样的请求真的最终得到404?

解决方法:

这不是URL重写功能.或者至少它不需要.见AcceptPathInfo Directive

This directive controls whether
requests that contain trailing
pathname information that follows an
actual filename (or non-existent file
in an existing directory) will be
accepted or rejected. The trailing
pathname information can be made
available to scripts in the
PATH_INFO environment variable.

For example, assume the location
/test/ points to a directory that
contains only the single file
here.html. Then requests for
/test/here.html/more and
/test/nothere.html/more both collect
/more as PATH_INFO.

它最初是CGI environment variable.

  • PATH_INFO

The extra path information, as given
by the client. In other words, scripts
can be accessed by their virtual
pathname, followed by extra
information at the end of this path.
The extra information is sent as
PATH_INFO. This information should
be decoded by the server if it comes
from a URL before it is passed to the
CGI script.

标签:apache,php,friendly-url
来源: https://codeday.me/bug/20190715/1463929.html