http://www.xpressengine.com/qna/21794284


그 이전에, 반드시 사이트 백업 해 두세요. (FTP, DB 백업)

백업해 놓으시고 


1. 일단 1.4버전대의 사이트 관리자 페이지를 하나 띄워 놓습니다. 

2. 다음 1.7버전의 최신 버전 코어를 덮어 씌웁니다. 

3. 열려져 있는 1.4버전대의 사이트 관리자 페이지에서 '캐시파일 재생성' '관리자메뉴 초기화' 

버튼을 순서대로 누릅니다. 

4. 나머지 업데이트가 필요한 모듈들 업데이트를 눌러 줍니다. 

5. 업데이트 완료!


생각보다 간단합니다. 

오류가 생기는 이유는 쓰고 계시는 모듈 (레이아웃이라던가 게시판 등) 등이 

XE최신버전 코어에 맞지 않아서 입니다. 



홈페이지를 들어가보니 오래전 Premiumxe.com 에서 배포되었던 레이아웃을 

사용하고 계시네요. 맞죠? 


그 레이아웃은 xe 버전 1.4버전까지만 지원되고 나머지는 지원되지 않습니다. 

그래서 옛날에 오류가 발생했던 거구요 ...


레이아웃 뿐만 아니라 쓰고 계시는 모듈 등이 xe코어 버전과 안맞으면 업데이트 시에 

syntax 오류가 나기 일쑤입니다.

xe/modules/bodex[각주:1]/skins/(사용하는 스킨)/comment_form.html 편집

<div class="commendButton tRight">를 찾으면 하부 메뉴가 두개 있는데
두 span 태그의 위치를 바꾸면 돌아가기 버튼과 등록하기 버튼의 위치가 바뀌어서 등록하기 - 돌아가기 순이 되고
두 span 태그 중 긴 것을 지우면 등록하기만 남는다.

등록하기 버튼에는 value가 cmd_comment_registration으로 되어 있으므로 이를 참고하면 어떤 것이 돌아가기 버튼인지 쉽게 알 수 있다. 
  1. 게시판EX의 경우 bodex 게시판의 경우 board [본문으로]
먼저 애드온으로 추천/비추천 버튼 노출 애드온 ver. 0.1 (2009-12-02) 이 깔려 있어야 한다.

xe/addons/addvote/tpl/ 에서addvote.html을 수정하면 된다.

비추천 쪽의 <button>~</button>까지만 제거해주면 된다. 
출처 : http://musiclife.tistory.com/153

xe/modules/member/member.model.php 를 편집한다.
 
 // 다른 사람의 아이디를 클릭한 경우
if($member_srl != $logged_info->member_srl) {
// 메일 보내기
if($logged_info->is_admin == 'Y') {
if($member_info->email_address) {
$url = 'mailto:'.$member_info->email_address;
$icon_path = './modules/member/tpl/images/icon_sendmail.gif';
$oMemberController->addMemberPopupMenu($url,'cmd_send_email',$icon_path);
}
}


볼드 처리된 부분 추가. 
출처 : http://park5611.pe.kr/xe/index.php?mid=Util_03&page=2&document_srl=147519  

비회원일 경우 안 보이게 설정을 했던데,

modules/member/member.model.php  파일의 49째줄부터(1.0.4버전 기준)

            // 회원 정보 보기 (비회원일 경우 볼 수 없도록 수정)
            if($logged_info->member_srl) {
                $url = getUrl('','mid',$mid,'act','dispMemberInfo','member_srl',$member_srl);
                $icon_path = './modules/member/tpl/images/icon_view_info.gif';
                $oMemberController->addMemberPopupMenu($url,'cmd_view_member_info',$icon_path,'self');
            }

위 구문 중에서 진하게 표시된 부분 때문에 그렇게 동작하는 듯 합니다.
즉, 멤버일 경우에만 보이도록 만든 것이죠...
여기서 

if($logged_info->member_srl)

부분을

if($logged_info->is_admin == 'Y')

로 변경하고,

modules/member/member.view.php 파일의 

            // 비회원일 경우 정보 열람 중지
            if(!$logged_info->member_srl) return $this->stop('msg_not_permitted');

부분도

            if(!$logged_info->is_admin == 'Y') return $this->stop('msg_not_permitted');
http://www.webhost.co.kr/index.php?mid=know_xe&document_srl=48598


레이아웃 편집에서 <!--@if($category)-->를 <!--@if($category && is_array($category))-->로 바꿔주면 된다.
http://www.xpressengine.com/index.php?document_srl=19062642&search_keyword=official+v2

xe/layouts/~~~/css/layout~~.css 파일을 수정.

xe_official_v2의 경우에는 215번 줄의 font-size를 바꾸면 된다.
대부분의 문제는 www가 붙었냐 붙었지 않았냐에 따라서 세션이 다르게 취급되기 때문. 따라서 언제나 닥치고 www를 붙이도록 하면 된다.

index.php에 이런 걸 붙이면 된다. 메모장으로 열어서 대충 붙여도 큰 문제 없더군.
 preg_match('@^(www\.)(.*)@', $_SERVER['HTTP_HOST'], $www_url);
if($www_url[1]) {
@header('Location: http://' . $www_url[2] . $_SERVER['REQUEST_URI']);
}

http://www.xpressengine.com/index.php?mid=tip&document_srl=19787880  
http://www.xpressengine.com/tip/17534658

phpmyadmin에 들어가서 xe_session이 깨져 있을 테니 그걸 삭제해버리면 로그인이 잘 됩니다.

우왕굳 
http://park5611.pe.kr/xe/153494

당연하지만 iframe을 쓰는 것에 대해서 이 포스트와 위 링크는 책임이 없음

문제 - 관리자 이외에는 iframe을 쓸 수 없게 되어 있음.

해결책

config/func.inc.php에서 function removeHackTag을 찾아서 iframe을 제거해준다.