| 제목 | 절대경로 문제(config) | ||
|---|---|---|---|
| 글쓴이 | DevCIer | 작성시각 | 2011/02/14 12:14:21 | 
| 
                         | 
                |||
| 
                        안녕하세요.. 질문 안올리고 검색 해서 찾을려고 했는데 아침부터 지금까지 이미지 출력 하나로 헤메고 있어서 질문 드립니다. 이미지 절대경로로 불러오는게 되면 asset에 있는 css/swf/js/ajax 등등 모두 경로를 절대경로로 바꿀려고 합니다. (현재는 ../ ../../ 이런 경로로 되어 있고 ajax시에는 또 include 되는 layout의 최상위경로 기준으로 ./어쩌구 이런식이라 경로가 너무 헷갈려서 코드이그나이터로 할때 모든걸 절대경로로 할려고 합니다.   제 폴더 구조구요 assets/images/a.jpg 이 이미지를 불러올려고 합니다. url에서 http://해당 도메인으로 접속하면 기본적으로 index불러오면서 a.jpg를 뷰에서 뿌려주게 해놨는데 <img src="/assets/images/a.jpg"> 하면 엑박이 뜹니다. 반면에 <img src="assets/images/a.jpg"> 하면 잘 불어와 집니다. 나중에 서버 이전시에도 경로 수정없이 쓸수 있도록 용이 하도록 절대경로로 모든 경로를 바꾸고 싶은데요 참고로 서버의 사이트 경로는 /루트 경로가 아니고 서브 디렉토리에 있습니다. 아마 이게 문제 되는거 같은데 서버 경로 : /var/www/html/ci/20/에 위쪽 스샷 폴더들이 존재합니다. /var/www/html/ci/20/app/ --------------------------/system/ ------------------------- /assets/ |_____ images/ |_____ a.jpg 이렇습니다. 무엇이 문제인지 아시는분 계시면 도움좀 부탁드려요 ^^; <img src="/ci/20/assets/images/baby.jpg"> 요렇게 하니 되네요. 그냥 /assets/images/를 할려면 음.. -- 말씀하신 config 입니다. ------------ 특별히 바꾼건 없습니다 ㅜㅜ <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
/* 
|-------------------------------------------------------------------------- 
| Base Site URL 
|-------------------------------------------------------------------------- 
| 
| URL to your CodeIgniter root. Typically this will be your base URL, 
| WITH a trailing slash: 
| 
| 
| If this is not set then CodeIgniter will guess the protocol, domain and 
| path to your installation. 
| 
*/ 
$config['base_url']	= ''; 
/* 
|-------------------------------------------------------------------------- 
| Index File 
|-------------------------------------------------------------------------- 
| 
| Typically this will be your index.php file, unless you've renamed it to 
| something else. If you are using mod_rewrite to remove the page set this 
| variable so that it is blank. 
| 
*/ 
$config['index_page'] = 'index.php'; 
/* 
|-------------------------------------------------------------------------- 
| URI PROTOCOL 
|-------------------------------------------------------------------------- 
| 
| This item determines which server global should be used to retrieve the 
| URI string.  The default setting of 'AUTO' works for most servers. 
| If your links do not seem to work, try one of the other delicious flavors: 
| 
| 'AUTO'			Default - auto detects 
| 'PATH_INFO'		Uses the PATH_INFO 
| 'QUERY_STRING'	Uses the QUERY_STRING 
| 'REQUEST_URI'		Uses the REQUEST_URI 
| 'ORIG_PATH_INFO'	Uses the ORIG_PATH_INFO 
| 
*/ 
$config['uri_protocol']	= 'AUTO'; 
/* 
|-------------------------------------------------------------------------- 
| URL suffix 
|-------------------------------------------------------------------------- 
| 
| This option allows you to add a suffix to all URLs generated by CodeIgniter. 
| For more information please see the user guide: 
| 
*/ 
$config['url_suffix'] = ''; 
/* 
|-------------------------------------------------------------------------- 
| Default Language 
|-------------------------------------------------------------------------- 
| 
| This determines which set of language files should be used. Make sure 
| there is an available translation if you intend to use something other 
| than english. 
| 
*/ 
$config['language']	= 'english'; 
/* 
|-------------------------------------------------------------------------- 
| Default Character Set 
|-------------------------------------------------------------------------- 
| 
| This determines which character set is used by default in various methods 
| that require a character set to be provided. 
| 
*/ 
$config['charset'] = 'UTF-8'; 
/* 
|-------------------------------------------------------------------------- 
| Enable/Disable System Hooks 
|-------------------------------------------------------------------------- 
| 
| If you would like to use the 'hooks' feature you must enable it by 
| setting this variable to TRUE (boolean).  See the user guide for details. 
| 
*/ 
$config['enable_hooks'] = FALSE; 
/* 
|-------------------------------------------------------------------------- 
| Class Extension Prefix 
|-------------------------------------------------------------------------- 
| 
| This item allows you to set the filename/classname prefix when extending 
| native libraries.  For more information please see the user guide: 
| 
| 
*/ 
$config['subclass_prefix'] = 'MY_'; 
/* 
|-------------------------------------------------------------------------- 
| Allowed URL Characters 
|-------------------------------------------------------------------------- 
| 
| This lets you specify with a regular expression which characters are permitted 
| within your URLs.  When someone tries to submit a URL with disallowed 
| characters they will get a warning message. 
| 
| As a security measure you are STRONGLY encouraged to restrict URLs to 
| as few characters as possible.  By default only these are allowed: a-z 0-9~%.:_- 
| 
| Leave blank to allow all characters -- but only if you are insane. 
| 
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!! 
| 
*/ 
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-'; 
/* 
|-------------------------------------------------------------------------- 
| Enable Query Strings 
|-------------------------------------------------------------------------- 
| 
| By default CodeIgniter uses search-engine friendly segment based URLs: 
| example.com/who/what/where/ 
| 
| By default CodeIgniter enables access to the $_GET array.  If for some 
| reason you would like to disable it, set 'allow_get_array' to FALSE. 
| 
| You can optionally enable standard query string based URLs: 
| example.com?who=me&what=something&where=here 
| 
| Options are: TRUE or FALSE (boolean) 
| 
| The other items let you set the query string 'words' that will 
| invoke your controllers and its functions: 
| example.com/index.php?c=controller&m=function 
| 
| Please note that some of the helpers won't work as expected when 
| this feature is enabled, since CodeIgniter is designed primarily to 
| use segment based URLs. 
| 
*/ 
$config['allow_get_array']		= TRUE; 
$config['enable_query_strings'] = FALSE; 
$config['controller_trigger']	= 'c'; 
$config['function_trigger']		= 'm'; 
$config['directory_trigger']	= 'd'; // experimental not currently in use 
/* 
|-------------------------------------------------------------------------- 
| Error Logging Threshold 
|-------------------------------------------------------------------------- 
| 
| If you have enabled error logging, you can set an error threshold to 
| determine what gets logged. Threshold options are: 
| You can enable error logging by setting a threshold over zero. The 
| threshold determines what gets logged. Threshold options are: 
| 
|	0 = Disables logging, Error logging TURNED OFF 
|	1 = Error Messages (including PHP errors) 
|	2 = Debug Messages 
|	3 = Informational Messages 
|	4 = All Messages 
| 
| For a live site you'll usually only enable Errors (1) to be logged otherwise 
| your log files will fill up very fast. 
| 
*/ 
$config['log_threshold'] = 0; 
/* 
|-------------------------------------------------------------------------- 
| Error Logging Directory Path 
|-------------------------------------------------------------------------- 
| 
| Leave this BLANK unless you would like to set something other than the default 
| application/logs/ folder. Use a full server path with trailing slash. 
| 
*/ 
$config['log_path'] = ''; 
/* 
|-------------------------------------------------------------------------- 
| Date Format for Logs 
|-------------------------------------------------------------------------- 
| 
| Each item that is logged has an associated date. You can use PHP date 
| codes to set your own date formatting 
| 
*/ 
$config['log_date_format'] = 'Y-m-d H:i:s'; 
/* 
|-------------------------------------------------------------------------- 
| Cache Directory Path 
|-------------------------------------------------------------------------- 
| 
| Leave this BLANK unless you would like to set something other than the default 
| system/cache/ folder.  Use a full server path with trailing slash. 
| 
*/ 
$config['cache_path'] = ''; 
/* 
|-------------------------------------------------------------------------- 
| Encryption Key 
|-------------------------------------------------------------------------- 
| 
| If you use the Encryption class or the Session class you 
| MUST set an encryption key.  See the user guide for info. 
| 
*/ 
$config['encryption_key'] = ''; 
/* 
|-------------------------------------------------------------------------- 
| Session Variables 
|-------------------------------------------------------------------------- 
| 
| 'sess_cookie_name'		= the name you want for the cookie 
| 'sess_expiration'			= the number of SECONDS you want the session to last. 
|   by default sessions last 7200 seconds (two hours).  Set to zero for no expiration. 
| 'sess_expire_on_close'	= Whether to cause the session to expire automatically 
|   when the browser window is closed 
| 'sess_encrypt_cookie'		= Whether to encrypt the cookie 
| 'sess_use_database'		= Whether to save the session data to a database 
| 'sess_table_name'			= The name of the session database table 
| 'sess_match_ip'			= Whether to match the user's IP address when reading the session data 
| 'sess_match_useragent'	= Whether to match the User Agent when reading the session data 
| 'sess_time_to_update'		= how many seconds between CI refreshing Session Information 
| 
*/ 
$config['sess_cookie_name']		= 'ci_session'; 
$config['sess_expiration']		= 7200; 
$config['sess_expire_on_close']	= FALSE; 
$config['sess_encrypt_cookie']	= FALSE; 
$config['sess_use_database']	= FALSE; 
$config['sess_table_name']		= 'ci_sessions'; 
$config['sess_match_ip']		= FALSE; 
$config['sess_match_useragent']	= TRUE; 
$config['sess_time_to_update']	= 300; 
/* 
|-------------------------------------------------------------------------- 
| Cookie Related Variables 
|-------------------------------------------------------------------------- 
| 
| 'cookie_prefix' = Set a prefix if you need to avoid collisions 
| 'cookie_domain' = Set to .your-domain.com for site-wide cookies 
| 'cookie_path'   =  Typically will be a forward slash 
| 
*/ 
$config['cookie_prefix']	= ''; 
$config['cookie_domain']	= ''; 
$config['cookie_path']		= '/'; 
/* 
|-------------------------------------------------------------------------- 
| Global XSS Filtering 
|-------------------------------------------------------------------------- 
| 
| Determines whether the XSS filter is always active when GET, POST or 
| COOKIE data is encountered 
| 
*/ 
$config['global_xss_filtering'] = FALSE; 
/* 
|-------------------------------------------------------------------------- 
| Cross Site Request Forgery 
|-------------------------------------------------------------------------- 
| Enables a CSRF cookie token to be set. When set to TRUE, token will be 
| checked on a submitted form. If you are accepting user data, it is strongly 
| recommended CSRF protection be enabled. 
| 
| 'csrf_token_name' = The token name 
| 'csrf_cookie_name' = The cookie name 
| 'csrf_expire' = The number in seconds the token should expire. 
*/ 
$config['csrf_protection'] = FALSE; 
$config['csrf_token_name'] = 'csrf_test_name'; 
$config['csrf_cookie_name'] = 'csrf_cookie_name'; 
$config['csrf_expire'] = 7200; 
/* 
|-------------------------------------------------------------------------- 
| Output Compression 
|-------------------------------------------------------------------------- 
| 
| Enables Gzip output compression for faster page loads.  When enabled, 
| the output class will test whether your server supports Gzip. 
| Even if it does, however, not all browsers support compression 
| so enable only if you are reasonably sure your visitors can handle it. 
| 
| VERY IMPORTANT:  If you are getting a blank page when compression is enabled it 
| means you are prematurely outputting something to your browser. It could 
| even be a line of whitespace at the end of one of your scripts.  For 
| compression to work, nothing can be sent before the output buffer is called 
| by the output class.  Do not 'echo' any values with compression enabled. 
| 
*/ 
$config['compress_output'] = FALSE; 
/* 
|-------------------------------------------------------------------------- 
| Master Time Reference 
|-------------------------------------------------------------------------- 
| 
| Options are 'local' or 'gmt'.  This pref tells the system whether to use 
| your server's local time as the master 'now' reference, or convert it to 
| GMT.  See the 'date helper' page of the user guide for information 
| regarding date handling. 
| 
*/ 
$config['time_reference'] = 'local'; 
/* 
|-------------------------------------------------------------------------- 
| Rewrite PHP Short Tags 
|-------------------------------------------------------------------------- 
| 
| If your PHP installation does not have short tag support enabled CI 
| can rewrite the tags on-the-fly, enabling you to utilize that syntax 
| in your view files.  Options are TRUE or FALSE (boolean) 
| 
*/ 
$config['rewrite_short_tags'] = FALSE; 
/* 
|-------------------------------------------------------------------------- 
| Reverse Proxy IPs 
|-------------------------------------------------------------------------- 
| 
| If your server is behind a reverse proxy, you must whitelist the proxy IP 
| addresses from which CodeIgniter should trust the HTTP_X_FORWARDED_FOR 
| header in order to properly identify the visitor's IP address. 
| Comma-delimited, e.g. '10.0.1.200,10.0.1.201' 
| 
*/ 
$config['proxy_ips'] = ''; 
/* End of file config.php */ 
/* Location: ./application/config/config.php */ 
 | 
                |||
| 다음글 | 마냐님 공개 보드에 관하여... (1) | ||
| 이전글 | 포럼소스에서 (3) | ||
| 
                             
                                criuce
                                /
                                2011/02/14 13:17:41 /
                                추천
                                0
                             
                             | 
                    
| 
                             
                                DevCIer
                                /
                                2011/02/14 14:00:49 /
                                추천
                                0
                             
                            
                                 /var/www/html/ci/20/app/assets/images/a.jpg가 아니고 
                        /assets/image/a.jpg로 쓰고 싶습니다.  | 
                    
| 
                             
                                변종원(웅파)
                                /
                                2011/02/14 18:45:19 /
                                추천
                                0
                             
                            
                                config.php 내용을 올려주세요. 
                        통상적으로 아래와 같은 구조에서 index.php의 위치를 기준으로 /asset 의 형태로 사용할 수 있습니다. (1.7.3까지는) asset application system index.php  | 
                    
| 
                             
                                DevCIer
                                /
                                2011/02/15 09:33:54 /
                                추천
                                0
                             
                            
                                 제 구조가 말씀하신 구조와 같은데  
                        /ci/20/assets/images/a.jpg는 됩니다. 아마 도큐먼트 루트부터 인식해서 그런거 같은데.. config에서 뭔가를 설정해주면 되려나요.. 끙.. apache 설정 문젠가.  | 
                    
| 
                             
                                변종원(웅파)
                                /
                                2011/02/15 09:47:42 /
                                추천
                                0
                             
                            
                                apache에서 /var/www/html 이 document root로 설정되어 있습니다. (설정을 건드리지 않은 상태라면) 
                        DocumentRoot 를 /var/www/html/ci/20 으로 설정하시면 원하는대로 되기는 하는데 다른 사이트와 충돌(?)을 고려해봐야할 것 같습니다. 사이트 하나만 있다면 수정해서 사용하셔도 되구요.  | 
                    
| 
                             
                                DevCIer
                                /
                                2011/02/15 10:34:41 /
                                추천
                                0
                             
                            
                                답변 감사드립니다. 
                        넵 맞습니다. httpd에 DocumentRoot를 ci/20으로 바꿔버리면 간단히 해결 될 문제 입니다만 사이트가 하나가 아니라서 제가 고민 중입니다 ㅠㅠ 각각 /var/www/html/ci/20/application |_/system |_/asset /다른사이트1/ /다른사이트2/ 이렇게 여러개가 있어서 아... 방법이 없는건지.. 이런 상황은 잦을 거 같은데 이런 문제로 사용중이신분~~ 알려주세용.. 계속 구글링 중인데.. 해답이 잘 안 찾아 지네용..  | 
                    
| 
                             
                                변종원(웅파)
                                /
                                2011/02/15 10:53:05 /
                                추천
                                0
                             
                            
  | 
                    
| 
                             
                                변종원(웅파)
                                /
                                2011/02/15 10:56:17 /
                                추천
                                0
                             
                            
                                상수로 선언하여 사용하셔도 되는데 굳이 그렇게 사용하시려는 이유는 뭘까요? 
                        (궁금해서 여쭤봅니다.) constants.php define('DOC_ROOT', $_SERVER['DOCUMENT_ROOT']); define('ASSET_ROOT', DOC_ROOT.'/ci/20/assets'); view <img src="<?php echo ASSET_ROOT?>/image/aa.jpg">  | 
                    
| 
                             
                                DevCIer
                                /
                                2011/02/15 11:56:58 /
                                추천
                                0
                             
                            
                                 앗 넵. 
                        1.현재는 ../ 이런 상대경로로 했는 모든 코드에 <?php를 넣어서 해야해서 번거롭기도 하구요 (어차피 /로 바꾸면 한번 작업을 해야 하긴 하지만) 2.디자이너분과 협업중인데 기왕이면 <?가 들어가는것 보다는 디자이너분도 알 수 있는 /경로로 해주는게 디자이너 분에게도 더좋을거 같아서요. 더 직관적이기도 할테구. 저도 가독성 상 /경로가 일반적이니 더 괜찮을거 같아서입니다. 3.사이트가 CI보기전의 날코딩으로 되어 있어서 진행이 좀 되었습니다. (CI 보는 순간 눈이번쩍했습니다.ㅎㅎ ) <?를 넣으면 넣어줘야 할 부분이 꽤 되어서 입니다. 이상이 이유입니당. 1.3번은 비슷한 이유네용. 제가 일반적인 경우가 아닌가요? -- ㅜㅜ 답변 감사드립니당  | 
                    
| 
                             
                                변종원(웅파)
                                /
                                2011/02/15 13:07:52 /
                                추천
                                0
                             
                            
                                DevCler/ 일반적입니다. ^^ 
                        전 다만, 이런 방법도 있고 저런 방법도 있고 해서 여쭤본겁니다. 제가 뒷배경을 모르니까 제 경험상의 방법만 알려드릴 수밖에 없어서요. ^^  | 
                    
| 
                             
                                DevCIer
                                /
                                2011/02/15 17:19:20 /
                                추천
                                0
                             
                            
                                제가 설정을 잘못하여 몇몇 문제가 있긴 하지만  
                        웅파님께 힌트를 얻어 virtualhost로 셋팅 하는 방향으로 가고 있습니다. 이제 기존날코딩 -> CI로 변환 작업만 남았습니다. 언제나 답변 너무 감사드립니다.  | 
                    
/var/www/html/ci/20/app/assets/images/a.jpg 이런식으로요..