본문 바로가기

Develop/CodeIgniter

[CodeIgniter]index.php 없애기.

아파치 vhost 잡아주는 부분에서



    RewriteEngine On

    RewriteCond $1 !^(index\.php|/asset/*|/images/*|/js/*|/css/*|robots\.txt|/favicon\.ico)

    RewriteRule ^(.*)$ /index.php/$1 [L]


추가해줄것!

+ mod_rewrite를 해줄경우에 CI에서도 자체적으로 추가해줄 부분이 있음.

system/core/URI.php파일내에서 

 if (strpos($uri, $_SERVER['SCRIPT_NAME']) === 0)
 {
   $uri = substr($uri, strlen($_SERVER['SCRIPT_NAME']));
 }
 elseif (strpos($uri, dirname($_SERVER['SCRIPT_NAME'])) === 0)
 {
   $uri = substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME'])));
 }

위 코드부분에서 $_SERVER['SCRIPT_NAME']을 못찾는 문제 발생.



이경우



 if (!empty($_SERVER['SCRIPT_NAME'])) {
   if (strpos($uri, $_SERVER['SCRIPT_NAME']) === 0)
   {
     $uri = substr($uri, strlen($_SERVER['SCRIPT_NAME']));
   }
   elseif (strpos($uri, dirname($_SERVER['SCRIPT_NAME'])) === 0)
   {
     $uri = substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME'])));
   }
 }

위와같이 수정해주면 정상적으로 동작함.

'Develop > CodeIgniter' 카테고리의 다른 글

Codeigniter + Vue  (0) 2018.03.15
[CodeIgniter] Rewirte Rule  (0) 2013.07.18
[CodeIgniter] CI_Utf8 line:47 error  (0) 2012.05.18
[CodeIgniter] PHPUnit 적용  (0) 2012.05.18