问题标签 [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.
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?
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 吗?
apache - mod_rewrite 或 path_info 用于干净的 URL
我一直使用 mod_rewrite 来创建看起来干净的 URL,直到最近我才知道还有其他选择。几周前这里有人指出使用 apache 可以达到完全相同的效果PATH_INFO
。现在考虑一下,我认为这是大多数 PHP 框架所做的,可以选择依赖 mod_rewrite 纯粹index.php
从 URL 中删除引导程序。
所有这些都导致了几个问题:
- 哪个是创建干净灵活的 URL 结构的更好方法,例如:
/page/var/foo/bar/2
? - 这两种方法的相对优点/缺点是什么?
- 哪种方法在资源使用等方面表现更好?
谢谢。
php - 获取 PATH_INFO 的便携且安全的方法
我正在寻找一种可移植的方式来接收(方便的)$_SERVER['PATH_INFO']
变量。
读了一会儿,原来它PATH_INFO
起源于 CGI/1.1,我并不总是出现在所有配置中。
获取该变量的最佳(主要是安全方面)方法是什么 -除了手动提取它(安全问题)。
php - PHP 中的 PATH_INFO 到底是什么?
所有外部 URL 看起来都像 'module/action?key1=param1'。无法进行定制——但速度很快。不同的是第一个使用PHP的GET,第二个使用PATH_INFO。
看了PATH_INFO
好几遍,还是不知道具体是什么。它有什么作用?
php - php路径信息问题
我有这个片段,目录中有 3 个图像和 3 个文件夹。它很好地呼应了图像,但它也给了我每个文件夹的这个错误。
注意:未定义索引:第 119 行 D:\Data\Websites\wamp\www\StephsSite\PHP\manage.php 中的扩展名
我想要做的是拥有它,所以如果它找到一个没有扩展名的文件(一个文件夹)显示一个静态图像。我将如何实现这一目标?
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']
各种服务器类型的存在?
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 次迭代的结果样本:
代码:
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/?????
这样看来问题相当深入。
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 是什么,它们如何工作以及如何实现它们。不过感谢您的提醒,我想我有一些不相关的误解,无论如何都被偶然澄清了!