상세 컨텐츠

본문 제목

XE 페이지 주소 통일하기

프로그래밍

by ∫2tdt=t²+c 2015. 9. 19. 14:09

본문

Xpress Engine에서는 mod_rewrite를 이용한 짧은 주소 기능을 제공합니다. 그래서 원래는

/xe/index.php?mid=lk&pid=exhibeo

처럼 지저분하게 보일 수 있는 주소를 아래처럼

/xe/lk?pid=exhibeo

짧게 바꿔서 사용해도 같은 페이지에 접속할 수 있죠. 아래편이 URL이 훨씬 깔끔해보이기 때문에 mod_rewrite를 이용한 짧은 주소 기능을 다들 많이 사용하곤 합니다.


그런데! 어느날 Google 웹마스터 콘솔에서 제목태그가 중복되는 페이지들이 많다고 메세지가 뜬것입니다. 이유가 뭔가하고 살펴봤더니 구글 크롤러가 index.php?mid=lk&pid=exhibeo와 lk?pid=exhibeo 페이지가 서로 다른 페이지인줄 알고 별개로 크롤링하고 처리해버린거였습니다. 이런 페이지가 못해도 1000 여개 되니 검색엔진 최적화 입장(SEO)에서는 꺼려할만한 기능이기도 할만하죠. 같은 페이지가 두 개, 혹은 세 네 개의 다른 페이지로 나뉘어 크롤링되고, 나머지 URL들은 한 녀석의 사본 페이지가 되어버리니 기가막힐 노릇입니다.


그래서 어찌어찌 해결할 방법이 없을까 고민하던 중 mod_rewrite를 이용해 Redirect를 시키기로 결심했습니다.

xe디렉토리에 있는 .htaccess 파일을 약간만 손보면 됩니다.


RewriteCond %{THE_REQUEST} "\?mid=([a-zA-Z0-9]+)&([^ ]+)"

RewriteRule ^(.*)$ "http://사이트URL/xe/%1?%2" [R,NE,L]


위 두 줄을 추가해주면, /xe/index.php?mid=lk&pid=exhibeo 같은 페이지 주소가 위 규칙의 적용을 받아서 /xe/lk?pid=exhibeo 로 변환이 됩니다. 아주 유익하죠.


이제 구글 크롤러가 이 페이지들을 다시 크롤링할때까지 기다리면, 자동으로 기존의 index.php?mid=lk&pid=~~~ URL들은 lk?pid=~~ 로 통합이 될거에요.

관련글 더보기

댓글 영역