php -/index.php/seo_path 这样的 URI 有多可靠

标签 php url server-configuration pathinfo

我注意到,有时(尤其是在 mod_rewrite 不可用的情况下)使用此路径方案:

http://host/path/index.php/clean_url_here
--------------------------^

似乎 工作,至少在Apache 中,调用index.php,并且可以通过以下方式查询/clean_url_here 部分$_SERVER['PATH_INFO']。 PHP连kind of advertises此功能。另外,例如 CodeIgniter框架使用此技术作为其 URL 的默认技术。

问题:这项技术的可靠性如何?是否存在 Apache 不调用 index.php 但尝试解析路径的情况? lighttpd、nginx、IIS、AOLServer 呢?

ServerFault 问题? 我认为这与在 PHP 代码中使用此功能有更多关系。所以我在这里问。

附录:正如 VolkerK 所建议的,这个问题的合理扩展是:How can a programmer influence the existence of $_SERVER['PATH_INFO'] on various servers类型?

最佳答案

我认为这个问题同样适用于 stackoverflow 和 serverfault。例如。作为一名开发人员,我只能告诉您 pathinfo 与任何用户输入一样值得信赖(这意味着它几乎可以包含任何内容)并且您的脚本可能会或可能不会收到它,具体取决于网络服务器版本和配置:

Apache :AcceptPathInfo
IIS:例如AllowPathInfoForScriptMappings和其他
等等……

但是服务器管理员可能会告诉您“在现实世界中”您可以期望哪些设置以及为什么首选这些设置。
所以问题就变成了:您(或预期的用户群)对服务器配置有多大影响。

关于php -/index.php/seo_path 这样的 URI 有多可靠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2635648/

相关文章:

java - OSGi 可以安装/部署 URL 上托管的 bundle 吗?

javascript - 根据 url 哈希更改表达式 -handlebars.js

security - 为 Spring Boot 后端使用通配符 ssl 证书

php - 在 htdocs 文件夹之外制作 XAMPP/Apache 服务文件

PHP变量问题

php - 使用 PHP 和 MySQL 查询的网站过滤器

android - 使用 GSON 库从 URL(RESTful web 服务)解析 JSON 字符串。安卓

php - 从MySQL数据库中获取具有特殊字母的字符串

php - 使用 MySQLi 从 HTML 表单插入多行到数据库

web-applications - 如何使用位置正则表达式通过 nginx 重定向/处理来自搜索引擎的请求