正如你可以看到裏面sfWebRequest.class.php
,getPathInfo()
除去從URL中$relativeUrlRoot
:
$pathInfo = $pathArray[$sf_path_info_key];
if ($relativeUrlRoot = $this->getRelativeUrlRoot())
{
$pathInfo = preg_replace('/^'.str_replace('/', '\\/', $relativeUrlRoot).'\//', '', $pathInfo);
}
$relativeUrlRoot
從這個函數刪除控制器名稱從網址。
所以,如果你有myapp_dev.php/main
或index.php/main
,你總是會得到/main
。
如果您需要之前的完整路徑/main
,您還必須致電$this->request->getScriptName()
。
小心,getScriptName()
將返回一切之間的域和路徑信息。如果您有http://exemple.com/somepath/app_dev.php/main
,則getScriptName()
將返回:/somepath/app_dev.php
。
來源
2013-02-12 13:58:13
j0k
感謝您的解釋! :)。 +1取證工作! – 2013-02-12 14:54:30