如果我在 `.php` 之后放置路径,则找不到脚本

如果我在 `.php` 之后放置路径,则找不到脚本

在我的 Debian“测试”系统上安装 Moodle 后,请求 http://localhost/moodle/theme/image.php/clean/core/1473903261/req 返回

Not Found

The requested URL /moodle/theme/image.php/clean/core/1473903261/req was not found on this server.

(这不仅是图像,而且 PHP 脚本本身也没有找到!)

但要求http://localhost/moodle/theme/image.php退货

Image was not found, sorry.

(图片没有找到,但是PHP脚本本身找到了!)

因此,据我了解,image.php只有当我在 . 之后不提供路径时才能找到该脚本.php/

为什么?怎么治呢?

服务器是 Apache 2.4.23。

答案1

您的 Apache 配置需要设置 AcceptPathInfo 指令。

如果您打开了 .htaccess 支持,您可以将其添加到您的 Moodle 目录中。只需将此行添加到 .htaccess 中:

AcceptPathInfo On

它还可以放置到 Apache 配置文件中的几乎任何上下文中,以在该上下文中启用它。

http://httpd.apache.org/docs/2.4/mod/core.html#acceptpathinfo

相关内容