테스트 사이트 - 개발 중인 베타 버전입니다

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

크으롱 1개월 전 조회 281

안녕하세요. 


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


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

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

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


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

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

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


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

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

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


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

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

1개월 전

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

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

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

</p>

<p>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;</p>

<p>


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

</p>

<p>// 이동 이력 저장

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}'");

}</p>

<p>

 

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

</p>

<p>// 이동된 게시글 리다이렉트

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;

  }

}</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

크으롱
1개월 전
답변감사합니다. 일단 시도해보겠습니다!!

댓글을 작성하려면 로그인이 필요합니다.

플라이
1개월 전

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

 

참고:

 

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

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

    
     

    ErrorDocument 404 /redirect.php

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

    
     

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

크으롱
1개월 전
답변 감사합니다.

결국 말씀하신게 리다이렉트 하라는 말씀이신거같은데

애초에 다른 방법은 없나보네요ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인