问题标签 [pathinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
813 浏览

asp.net-mvc - ASP.NET MVC: PathInfo Limit?

One of the limitations of ASP.NET 2.0 was that PathInfo was limited to 255 characters. Is that limit a problem in ASP.NET MVC urls, or is there any sort of length limit with ASP.NET MVC routing urls?

0 投票
6 回答
8205 浏览

php - 如果没有 .htaccess,像 http://localhost/index.php/articles/edit/1/my-first-article 这样的 URL 如何工作?

我不明白:

http://localhost/index.php/articles/edit/1/my-first-article

该 URL 在Kohana 框架文档中作为示例被提及。我在我的安装文件中四处寻找,除了我自己的文件之外没有 .htaccess 与此无关。

那么,怎么可能调用了 index.php,但是作为参数,这些东西看起来像是在 URL 中添加了目录?这看起来并不“真实”。

或者这就是原生 PHP/Apache/HTTP 的实际工作方式?据我了解, / 总是告诉“嘿,一个目录!”。对我来说真的是零意义……这怎么可能?或者他们在某个地方有我看不到/找不到的 .htaccess 吗?

0 投票
1 回答
1193 浏览

apache - mod_rewrite 或 path_info 用于干净的 URL

我一直使用 mod_rewrite 来创建看起来干净的 URL,直到最近我才知道还有其他选择。几周前这里有人指出使用 apache 可以达到完全相同的效果PATH_INFO。现在考虑一下,我认为这是大多数 PHP 框架所做的,可以选择依赖 mod_rewrite 纯粹index.php从 URL 中删除引导程序。

所有这些都导致了几个问题:

  1. 哪个是创建干净灵活的 URL 结构的更好方法,例如: /page/var/foo/bar/2
  2. 这两种方法的相对优点/缺点是什么?
  3. 哪种方法在资源使用等方面表现更好?

谢谢。

0 投票
6 回答
12749 浏览

php - 获取 PATH_INFO 的便携且安全的方法

我正在寻找一种可移植的方式来接收(方便的)$_SERVER['PATH_INFO']变量。

读了一会儿,原来它PATH_INFO起源于 CGI/1.1,我并不总是出现在所有配置中。

获取该变量的最佳(主要是安全方面)方法是什么 -除了手动提取它(安全问题)。

0 投票
2 回答
50308 浏览

php - PHP 中的 PATH_INFO 到底是什么?

所有外部 URL 看起来都像 'module/action?key1=param1'。无法进行定制——但速度很快。不同的是第一个使用PHP的GET,第二个使用PATH_INFO。

看了PATH_INFO好几遍,还是不知道具体是什么。它有什么作用?

0 投票
2 回答
5455 浏览

php - php路径信息问题

我有这个片段,目录中有 3 个图像和 3 个文件夹。它很好地呼应了图像,但它也给了我每个文件夹的这个错误。

注意:未定义索引:第 119 行 D:\Data\Websites\wamp\www\StephsSite\PHP\manage.php 中的扩展名

我想要做的是拥有它,所以如果它找到一个没有扩展名的文件(一个文件夹)显示一个静态图像。我将如何实现这一目标?

0 投票
4 回答
440 浏览

php - /index.php/seo_path 之类的 URI 有多可靠

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

似乎有效,至少在index.php被调用的 Apache 中,人们可以/clean_url_here通过$_SERVER['PATH_INFO']. PHP 甚至有点宣传这个特性。此外,例如,CodeIgniter框架使用这种技术作为其 URL 的默认值。

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

服务器故障问题?我认为这与在 PHP 代码中使用此功能有关。所以我在这里问。

附录:正如 VolkerK 所建议的,对这个问题的合理扩展是:程序员如何影响$_SERVER['PATH_INFO']各种服务器类型的存在?

0 投票
5 回答
1409 浏览

php - 路径信息与 fnmatch

关于 fnmatch 对 pathinfo 的速度有一个小争论:如何检查文件是否为 php?

我并不完全相信,所以决定对这两个函数进行基准测试。

使用动态和静态路径表明 pathinfo 更快。

我的基准测试逻辑和结论是否有效?

编辑:从 cmd 使用 mac php

PHP 5.3.0 (cli)(构建时间:2009 年 7 月 20 日 13:56:33) 版权所有 (c) 1997-2009 The PHP Group Zend Engine v2.3.0,版权所有 (c) 1998-2009 Zend Technologies

动态路径 pathinfo 3.2973630428314 fnmatch 3.4520659446716 x1.05

静态路径 pathinfo 0.86487698554993 fnmatch 1.0420439243317 x1.2

来自cmd的mac xampp php

PHP 5.3.1 (cli)(构建时间:2010 年 2 月 27 日 12:41:51) 版权所有 (c) 1997-2009 The PHP Group Zend Engine v2.3.0,版权所有 (c) 1998-2009 Zend Technologies

动态路径 pathinfo 3.63922715187 fnmatch 4.99041700363 x1.37

静态路径 pathinfo 1.03110480309 fnmatch 2.38929820061 x2.32

我在我的机器上包含了一个以秒为单位进行 100,000 次迭代的结果样本:

代码:

0 投票
3 回答
1799 浏览

iis - 在 ColdFusion 中使用带有 cgi.PATH_INFO 的 URL 中使用 unicode 时出现问题

我的 ColdFusion(IIS 6 上的 MX7)站点具有搜索功能,可将搜索词附加到 URL,例如http://www.example.com/search.cfm/searchterm.

我遇到的问题是这是一个多语言网站,因此搜索词可能是另一种语言,例如القاهرة导致搜索 URL,例如http://www.example.com/search.cfm/القاهرة

问题是当我从 URL 中检索搜索词时。我正在使用cgi.PATH_INFO检索搜索页面的路径和搜索词并从中提取搜索词,例如/search.cfm/searchterm,但是,当在搜索中使用 unicode 字符时,它们将转换为问号,例如/search.cfm/??????.

这些似乎是实际的问号,而不是浏览器无法格式化 unicode 字符,或者它们在输出时被破坏。

我找不到有关 ColdFusion 是否在 URL 中支持 unicode 的任何信息,或者我如何解决这个问题并以某种方式获取完整的 URL - 有人有什么想法吗?

干杯,

汤姆

编辑:进一步的研究让我相信这个问题可能与 IIS 而不是 ColdFusion 有关,但我原来的查询仍然有效。

进一步编辑

结果GetPageContext().GetRequest().GetRequestUrl().ToString()http://www.example.com/search.cfm/searchterm/?????这样看来问题相当深入。

0 投票
7 回答
530 浏览

php - /123 和 /?123 有什么区别?

我注意到一些网站(包括旧的http://careers.stackoverflow.com 1.0)的查询字符串如下所示:

http://somewebapp.example/?123

相比于:

http://somewebapp.example/123或者http://somewebapp.example/id/123

开发人员选择使用第一个示例而不是第二个和第三个示例来实现其 Web 应用程序的 URL 的原因是什么?

作为奖励,如果这123是数据库表中某行的主键,如何在 PHP 中实现第一个示例?(我只需要知道如何123从 URL 中检索;我已经知道如何在数据库中查询 . 的主键123。)

编辑 [5/28]:哎呀,忘了让大家知道我知道后两个 URL 是什么,它们如何工作以及如何实现它们。不过感谢您的提醒,我想我有一些不相关的误解,无论如何都被偶然澄清了!