#369 sapi type이 cgi일 경우 PATH_INFO 환경변수에서 경로를 구하도록 함. 그리고 index.php 파일을 제거할때 preg 정규표현식으로 대소문자 구별없이 제거하도록 변경

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3514 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-01-09 05:27:34 +00:00
parent bd0ae1daef
commit 1dff2a4863
3 changed files with 9 additions and 6 deletions

View file

@ -609,11 +609,7 @@
* @brief 요청이 들어온 URL에서 argument를 제거하여 return
**/
function getRequestUri() {
$hostname = $_SERVER['HTTP_HOST'];
//$port = $_SERVER['SERVER_PORT'];
//if($port!=80) $hostname .= ":{$port}";
$path = str_replace('index.php','',$_SERVER['SCRIPT_NAME']);
return sprintf("http://%s%s",$hostname,$path);
return sprintf("http://%s%s",$_SERVER['HTTP_HOST'], getScriptPath());
}
/**

View file

@ -86,7 +86,7 @@
function display($content) {
$content .= $this->_debugOutput();
$path = str_replace('index.php','',$_SERVER['SCRIPT_NAME']);
$path = getScriptPath();
// commons/modules/files/widgets/layouts/addons 로 시작되는 src나 href의 값을 절대경로로 변경
$content = preg_replace('!(href|src)=("|\'){0,1}(commons|modules|widgets|layouts|addons|files)!is', '\\1=\\2'.$path.'\\3', $content);

View file

@ -463,4 +463,11 @@
return sprintf("%08lx%08lx", $nr, $nr2);
}
/**
* 현재 요청받은 스크립트 경로를 return
**/
function getScriptPath() {
if(function_exists('php_sapi_name') && php_sapi_name()=='cgi') return preg_replace('/index.php/i','',$_SERVER['PATH_INFO']);
return preg_replace('/index.php/i','',$_SERVER['SCRIPT_NAME']);
}
?>