Develop/CodeIgniter
[CodeIgniter]index.php 없애기.
시크라기
2012. 8. 7. 10:45
아파치 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']))); } }
위와같이 수정해주면 정상적으로 동작함.