어떤 방법이 가장 좋을지 고견 부탁드립니다(게시글 이동 관련)

어떤 방법이 가장 좋을지 고견 부탁드립니다(게시글 이동 관련)

QA

어떤 방법이 가장 좋을지 고견 부탁드립니다(게시글 이동 관련)

본문

안녕하세요. 


현재 홈페이지에 작성 된 글을 다른 게시판으로 이동 시키려고 하는데요,


게시판을 이동시키면 원본 글 url 이 바뀌더라구요

문제는 원본 글이 구글검색이나 네이버검색에 이미 색인되어 있으면

게시판 이동해버리면 구글검색으로 해당 글을 클릭하면 "이동되었거나 삭제된 게시물입니다" 라고 뜨더라구요


글이 한두개가 아닌 상황인데

만약 구글 검색결과로 나온 제홈페이지 글  url이  https://홈피주소/게시판A   이라고 가정하고

해당 글을 https://홈피주소/게시판B  으로 옮겼다면


리다이렉션? 리다이렉트 시키는게 베스트 방법일까요?

옮겨야하는 게시글이 몇백개가 되다 보니 일일이 리다이렉트 시키는게 좀 힘들어보이는데

혹시 가장 쉬운 방법은 없을까요??


답변주시는 분들 미리 감사드립니다..

이 질문에 댓글 쓰기 :

답변 2

주소가 전체적으로 바뀐거라면 없는 주소일때 포워딩 하는 방식보다는 없는 페이지 오류 페이지를 띄워 홈페이지로 유입되도록 처리하거나 포워딩 해서 처리하는 방법이 있긴 합니다.

 

참고:

 

방법 1: .htaccess와 PHP를 이용한 리다이렉트 (Apache 서버 기준)

  1. .htaccess 파일을 프로젝트 루트에 생성하거나 수정:

    
     

    ErrorDocument 404 /redirect.php

  2. redirect.php 파일에서 메인 페이지로 이동:

    
     

    <?php header("Location: /index.php"); exit; ?>

게시글 이동 처리시 이동내역을 별도 내역 테이블에 저장하고,

이 내역으로 리다이렉트 하는 방법을 검토해볼 수 있습니다.

1. 게시글 이동 내역 테이블 생성 (샘플)


CREATE TABLE `g5_board_move_history` (
  `bh_id` int(11) NOT NULL AUTO_INCREMENT,
  `old_bo_table` varchar(20) NOT NULL,
  `old_wr_id` int(11) NOT NULL, 
  `new_bo_table` varchar(20) NOT NULL,
  `new_wr_id` int(11) NOT NULL,
  PRIMARY KEY (`bh_id`),
  KEY `idx_old_board_wr` (`old_bo_table`, `old_wr_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


2. /bbs/move_update.php 적당한 위치에 추가 (샘플)

// 이동 이력 저장
if ($sw == 'move' && !$row2['wr_is_comment'] && $i == 0) {
  sql_query("INSERT INTO g5_board_move_history SET old_bo_table='{$bo_table}', old_wr_id='{$row2['wr_id']}', new_bo_table='{$move_bo_table}', new_wr_id='{$insert_id}'");
}

 

3. /bbs/board.php 상단에 추가 (샘플)


// 이동된 게시글 리다이렉트
if ($bo_table && $wr_id && empty($write['wr_id'])) {
  $move = sql_fetch("SELECT new_bo_table, new_wr_id FROM g5_board_move_history WHERE old_bo_table='{$bo_table}' AND old_wr_id='{$wr_id}'");
  if ($move) {
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: " . get_pretty_url($move['new_bo_table'], $move['new_wr_id']));
    exit;
  }
}
답변을 작성하시기 전에 로그인 해주세요.
전체 129,406 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT