XpressEngine

nginx에서 짧은 주소가 동작하지 않는 경우 해결

by Luatic™ posted Jun 06, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

+ - Up Down Comment Print
Extra Form
출처 http://www.xpressengine.com/index.php?mi...l=21809112

아파치에서 돌리던 사이트를 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')&& 부분을 제거하시면 짧은 주소가 제대로 동작하실겁니다.

TAG •
  • profile
    아이지존 2014.07.01 20:49
    혹시 엔진엑스 호스팅도 준비중이세요
  • profile
    Luatic™ 2014.07.01 20:52

    엔진엑스 경우 시패널자체를 지원하지 않습니다.

    W02나 망고서버 처럼 아파치+엔진엑스, 즉 카페24 방식은 사용중입니다.