웹마스터 팁
nginx에서 짧은 주소가 동작하지 않는 경우 해결
2013.03.24 12:28
아파치에서 돌리던 사이트를 nginx로 이전했고 rewrite 처리를 해줬지만 직접 짧은 주소를 쳤을 경우에만 동작하고 메뉴 등에는 여전히 기존의 긴 주소로 링크가 걸리더군요.
찾아보니
/classes/context/Context.class.php 를 보시면 약 271번째 줄에
// check if using rewrite module
if(file_exists(_XE_PATH_.'.htaccess')&&$this->db_info->use_rewrite == 'Y') $this->allow_rewrite = true;
else $this->allow_rewrite = false;
이런 부분이 있는데 여기를 보시면 단순히 짧은 주소 On 만으로 활성화되는 것이 아니라 XE 루트에 .htaccess가 있어야 동작하게 되있더군요.
제가 사용중인 nginx 호스팅의 경우 아예 .htaccess 파일의 업로드가 안되어서 해당 파일이 존재하지 않아 발생하는 문제였습니다.
저와 같이 .htaccess 파일이 업로드가 안되는 경우의 ngnix 사용자 분들은 일단 else 부분에 'false'를 'true'로 바꾸시거나 if문의 file_exists(_XE_PATH_.'.htaccess')&& 부분을 제거하시면 짧은 주소가 제대로 동작하실겁니다.
댓글 3
-
oryan
2014.05.19 20:17
-
퍼니엑스이
2014.05.20 13:01
혹시나 코어를 수정하는게 꺼려진다면, 빈 .htaccess 파일을 만들어주셔도 됩니다 :) -
세상의모든계산기
2015.01.11 16:04
1.7.9 버전인데 수정되었나봅니다. (Line # 367)
// check if using rewrite module
$this->allow_rewrite = ($this->db_info->use_rewrite == 'Y' ? TRUE : FALSE);
음...
그런데 왜 저는 간혹 긴주소가 나오는 문제가 계속 나타나는 걸까요 ㅠㅠ
감사합니다!