메뉴 건너뛰기

XE Guidebook

참고 / 기타
2014.08.21 19:03

9-01 /xe/ 하위 주소없이 도메인 고정하기

조회 수 32464 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

          

▣ /xe/ 하위 주소없이 도메인 고정하기
 
 

   루트 디렉터리에 xe폴더를 만들고 그 안에 XE Core 하위 폴더들과 파일을 두고 설치를 하게 되면, 
   사이트 접속시 도메인 뒤에 '/xe/' 라는 하위 주소를 붙여야 하는데,  
   /xe/ 하위 주소없이 도메인 네임만으로 웹사이트에 접속하기위해서는 아래의 방법들 중에서 적당한 방법을 선택하여 적용하면 된다.

 

■ index에서 XE의 시작 모듈로 강제 이동시키기
 
 
↘ 텍스트에디터나 메모장으로 아래 내용만 포함된 index.htm을 작성한다.
 
   <? 
   header("Location:http://도메인/xe"); 
   ?>  
 
↘ 작성한 index.htm을 서버의 최상위 폴더, 루트에 업로드한다,
 
   서버의 최상위 폴더, 루트에는 index나 default라는 이름을 가진 파일이 없어야 한다.
 
 
※ 이 방법은 해당 주소로 이동하는 방식이기 때문에 XE가 아니라도 사용할 수 있으며,
   다른 서버에 존재하는 다른 홈페이지의 이동도 가능하다.
 
   그러나 이동한 도메인의 주소 창에는 항상 '/xe/'가 표시되며,
   일단 index.htm에 접속한 후 이동을 하는 것이기 때문에,
   첫 접속의 속도가 약간 느리며, 화면도 사이트 이동에 따라 잠시 번쩍거리는 현상이 있다.
   특히 사이트 로딩 속도가 느린 저 버전 IE에서는 증상이 좀 심하게 보일 수 있다. 
 
 

■ frame을 사용하여 XE로 작성한 사이트를 불러오기 
 
 
↘ 텍스트에디터, 메모장으로 아래와 같은 내용의 index.htm 을 작성한다.
 
   <html>
   <head>
   <title>사이트 이름</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   </head>
 
   <frameset rows="*,0" border=0>
   <frame src="http://도메인/xe" frameborder=0 scrolling=auto>
   </frameset>
   <noframes>
   <body>
 
   </body>
   </noframes>
   </html>
 
↘ 작성한 index.htm을 서버의 루트에 업로드한다.
 
 
※ 이 방법은 전체 프레임을 사용해서 프레임 안에 XE로 만든 사이트를 불러오는 방식으로,
   메뉴 이동이나, 게시물 열람 시에도 내부 프레임 안의 내용만 바뀌기 때문에
   사이트 주소(주소창의 도메인)와 사이트 이름이 고정된다는 장점이 있다.
 
   다른 서버에 위치한 사이트도 불러올 수 있으며, XE가 아니라도 사용이 가능하다.
   무료 서버 등의 괜찮은 도메인을 얻게 되어 홈페이지의 주소로 사용하고 싶을 때,
   이 방법을 사용하여 무료 서버의 index에 기존 XE를 불러오는 방식으로도 사용이 가능하다.
 
   그러나 브라우저상에서 '새로고침'을 하게 되면 브라우저 주소 창에 떠있는 주소,
   즉 XE의 시작 모듈로 돌아가 버리므로 '새로고침'의 사용 빈도를 고려하여 선택할 수 있는 방법이다. 
 
 

■ 스크립트를 사용하여 XE로 작성한 사이트 불러오기
 
  
↘ 텍스트에디터나 메모장으로 아래와 같은 내용의 문서를 작성한다.
 
   <html>
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <meta name="description" content="검색색로봇에 의해 검색되기를 원하는 사이트 주제를 적는다"
   <meta name="keywords" content="검로봇에 의해 검색되기를 원하는 키워드를 적는다." >
   <title> 페이지 타이틀 이름을 적는다. </title>
 
   <script language="javascript">
   function hidestatus()
   {
   window.status= "주소 고정 후 브라우저에 보여질 타이틀을 써넣는다"
   return true
   }
   if (document.layers){
   document.captureEvents(Event.mouseover | Event.mouseout)
   document.onmouseover=hidestatus
   document.onmouseout=hidestatus
   }
   </script>
   <SCRIPT LANGUAGE="JavaScript">
   function Frameset(page) {
   framecode = "<frameset rows='1*'>"
   + "<frame name=main src="./+ page +">"
   + "</frameset>";
   document.write(framecode);
   document.close();
   }
   </script>
   <frameset rows="1*">
   <frame name="main" src= "/xe/?mid=home"  >   <-- 초기화면으로 열기를 원하는 페이지 경로를 지정한다.
   <noframes>
   </head>
   <body>
   </noframes>
   </frameset>
   </body>
   </html>
 
↘ 위 문서를 index.html과 index.php 파일 2가지로 동일하게 저장한다.
 
↘ 그 다음 실제 초기 페이지로 열고자 하는 파일명은 index.xxx 가 아닌 다른 이름으로 변경한다.
   가령 main.html 또는 main.php 라고 변경하여 저장한다.
 
↘ 새로 만든 index.php와 index.html 소스의 아래쪽 "초기화면으로 열기를 원하는 페이지 경로를 지정한다."에서
   실제 초기페이지로 열고자 하는 파일, main.xxx 파일의 경로를 적어주면 된다.
   만약 XE를 사용한다면, 상기 소스의 예에서처럼 XE의 mid 주소 값을 적어주면 된다.
 
   index.php 보다 index.html이 우선권이 있다고 해서 index.html만 만들게 되면,
   제대로 동작하지 않는 경향이 나타나므로
   웹 서버 Root에 주소 고정용 스크립트가 들어 있는 index.html과 index.php 그리고
   초기화면으로 열기를 원하는 파일 또는 초기화면 페이지 경로를 지정하는 파일까지 3개를 넣어 주면된다.
 
※ 이 기능을 사용하기 위해서는 XE를 웹서버 Root에 바로 설치하지 말고 반드시 별도의 폴더에 설치해야 한다.
 
   이 방법을 통해 사이트 구성시 여러 개의 메인 메뉴 페이지를 두고,
   Root에는 각각의 메인메뉴 페이지 경로를 지정한 파일을 두어 동일한 도메인 네임으로 접속을 하더라도
   메인 메뉴 페이지가 random하게 바뀌면서 매번 다른 초기화면이 뜨게 되고 주소도 고정된다.
 
   브라우저 주소 창에 나타나는 주소를 도메인네임으로 고정이 가능하고,
   또 브라우저 하단에 보여지는 링크주소 노출을 막을 수 있다.
 
   이 방법은 일반적인 웹 사이트에서는 문제가 없지만,
   ZB4 또는 XE를 사용하는 사이트에서는 페이지를 보던 중에 F5를 누르거나 Reload(새로고침, 다시보기)를 하면
   초기 화면으로 되돌아가는 단점이 있다.
 
 

■ .htaccess 파일을 이용하여 루트에서 XE를 호출하기
 
 
↘ 텍스트에디터나 메모장으로 내용이 없는 빈 index.php를 작성하여 루트에 업로드한다.
 
↘ FTP로 xe 폴더에 접속하여 .htaccess 파일을 다운받는다.
 
   서버의 설정에 따라 .htaccess 파일을 볼 수 없는 경우도 있는데,
   이럴 때에는 Filezilla 기준으로 서버 > 숨김 파일 강제 표시로 찾을 수 있다.
 
↘ 다운받은 .htaccess 파일을 텍스트에디터로 열어 아래와 같이 수정한다. 
  

RewriteEngine On
 

RewriteRule ^index.php$ /xe/index.php [L]
 

# reserve XE Layout Template Source File (*.html)
RewriteRule ^(layouts|m.layouts)/(.+)\.html$ ./xe/index.php [L,F]
# reserve XE Template Source Files (*.html)
RewriteRule /(skins|m.skins)/(.+)\.html$ ./xe/index.php [L,F] 
 

# conf, query, schema
RewriteRule ^(modules|addons|widgets)/(.+)/(conf|queries|schemas)/(.+)\.xml$ ./xe/index.php [L]
 

# static files
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)/files/(member_extra_info|attach|cache|faceOff)/(.*) ./xe/files/$2/$3 [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)/(files|modules|widgets|widgetstyles|layouts|m.layouts|addons)/(.*) ./xe/$2/$3 [L]
 

# rss , blogAPI
RewriteRule ^(rss|atom)$ ./xe/index.php?module=rss&act=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)/(rss|atom|api)$ ./xe/index.php?mid=$1&act=$2 [L]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)$ ./xe/index.php?vid=$1&mid=$2&act=$3 [L]
 

# trackback
RewriteRule ^([0-9]+)/(.+)/trackback$ ./xe//index.php?document_srl=$1&key=$2&act=trackback [L]
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./xe/index.php?vid=$1&document_srl=$2&key=$3&act=trackback [L]
 

# administrator page
RewriteRule ^admin/?$ ./xe/index.php?module=admin [L]
 

# document permanent link
RewriteRule ^([0-9]+)$ ./xe/index.php?document_srl=$1 [L,QSA]
 

# mid link
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_]+)/?$ ./xe/index.php?mid=$1 [L,QSA]
# mid + document link
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)$ ./xe/index.php?mid=$1&document_srl=$2 [L,QSA]
 

# vid + mid link
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/?$ ./xe/index.php?vid=$1&mid=$2 [L,QSA]
# vid + mid + document link
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)$ ./xe/index.php?vid=$1&mid=$2&document_srl=$3 [L,QSA]
 

# mid + entry title
RewriteRule ^([a-zA-Z0-9_]+)/entry/(.+)$ ./xe/index.php?mid=$1&entry=$2 [L,QSA]
# vid + mid + entry title
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/entry/(.+)$ ./xe/index.php?vid=$1&mid=$2&entry=$3 [L,QSA]
  

 ㆍRewriteRule ^index.php$ /xe/index.php [L] 라는 구문을 파일의 제일 위 'RewriteEngine On' 바로 아래에 삽입  
 
 ㆍ각 구문의 참조 경로지정에서 '/xe'를 추가해준다.

 

 ↘ 수정과 저장이 끝나면 .htaccess 파일을 서버의 루트에 업로드하고 접속 확인한다.
 
 
※ 이 방법은 다른 페이지를 경유하지 않고 루트에서 바로 XE를 호출하기 때문에,
   사이트 주소 입력으로 들어온 리퍼러를 제대로 수집하는 것이 가능하다.
 
   좀 과정이 길고 복잡한 편이며, XE에서만 사용 가능하다는 것이 단점이며,
   Optimizer 미 사용시 페이지가 표시되지 않는 오류가 나타날 수 있으므로
   1.4.4.2 이상 버전에서는 위의 다른 방법을 이용하는 것이 좋다.
 
 



List of Articles
번호 분류 제목 글쓴이 조회 수
» 참고 / 기타 9-01 /xe/ 하위 주소없이 도메인 고정하기 XE4Uself 32464
2 참고 / 기타 9-02 용어 정리 XE4Uself 588
1 참고 / 기타 9-03 플래시 파일(swf) 삽입하기 XE4Uself 1042
Board Pagination Prev 1 Next
/ 1