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=~~ 로 통합이 될거에요.
MorPHP를 이용한 스와힐리어 문법 서술 (0) | 2015.12.15 |
---|---|
형태 규칙 서술 언어 MorPHP (0) | 2015.11.15 |
[PHP, MySQL] 클러스터링을 이용한 동음이의어 분리 (0) | 2015.10.18 |
자바스크립트로 수식 파싱하기 (0) | 2015.09.09 |
그리스문자 입력기 (0) | 2015.08.02 |
사전 표제어 뜻풀이의 자동 기계 번역(PHP, MySQL) (2) | 2015.08.01 |
댓글 영역