- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
当我注意到 $_SERVER['PATH_TRANSLATED'] 变量正在执行此操作时,我正在尝试创建 MVC 框架:
[PATH_INFO] => /test/test2/test3
[PATH_TRANSLATED] => redirect:/index.php/test/test2/test3/test2/test3
这是我通过 http://domain.tld/test/test2/test3 访问 PHP 文件的时候
注意它是如何在/test/之后重复的
这是我重写的.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
有什么想法吗?我尝试更改 RewriteRule 规则,但没有任何改变。该变量对于我尝试做的事情并不那么重要,但我想知道为什么会发生这种情况,以及我是否配置错误。
服务器信息:
Apache /2.2.3
PHP 5.3.1
编辑:这个变量在 Lighttpd 下不会重复,因为它报告:
[PATH_INFO] => /test/test2/test3
[PATH_TRANSLATED] => /home/kramer/public_html/test/test2/test3
所以我假设它与 Apache 有关。我还在 Apache 下尝试了 FastCGI,它产生了相同的重复结果。
最佳答案
如果您使用 mod_rewrite
, 然后阅读 PATH_TRANSLATED
value 在您的脚本中没有用处,因为它将指向不存在的文件或路径。你应该使用 PATH_INFO
在你的index.php
了解用户请求的 URI。
举个例子,你可以看看CodeIgniter's路由器类。 CodeIgniter 可以使用多种方式获取 URI 参数:PATH_INFO
, QUERY_STRING
, REQUEST_URI
, 和 ORIG_PATH_INFO
.
如果您仍然对 Apache 的奇怪行为感到好奇,也许深入研究访问日志会发现一些线索。但是,如果您不使用此变量,请忽略它。它有不同的用途,您的 MVC 不会使用它。
关于php - 为什么 $_SERVER ['PATH_TRANSLATED' ] 重复自己?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2262291/
我有一个 .htaccess 规则,将对 /category/category-slug/ 的请求传递给 category.php。但是,当我检查 $_SERVER 超全局时,我得到了这个条目: Ar
当我注意到 $_SERVER['PATH_TRANSLATED'] 变量正在执行此操作时,我正在尝试创建 MVC 框架: [PATH_INFO] => /test/test2/test3 [PATH_
我是一名优秀的程序员,十分优秀!