어떤 방법이 가장 좋을지 고견 부탁드립니다(게시글 이동 관련)
안녕하세요.
현재 홈페이지에 작성 된 글을 다른 게시판으로 이동 시키려고 하는데요,
게시판을 이동시키면 원본 글 url 이 바뀌더라구요
문제는 원본 글이 구글검색이나 네이버검색에 이미 색인되어 있으면
게시판 이동해버리면 구글검색으로 해당 글을 클릭하면 "이동되었거나 삭제된 게시물입니다" 라고 뜨더라구요
글이 한두개가 아닌 상황인데
만약 구글 검색결과로 나온 제홈페이지 글 url이 https://홈피주소/게시판A 이라고 가정하고
해당 글을 https://홈피주소/게시판B 으로 옮겼다면
리다이렉션? 리다이렉트 시키는게 베스트 방법일까요?
옮겨야하는 게시글이 몇백개가 되다 보니 일일이 리다이렉트 시키는게 좀 힘들어보이는데
혹시 가장 쉬운 방법은 없을까요??
답변주시는 분들 미리 감사드립니다..
답변 2개
게시글 이동 처리시 이동내역을 별도 내역 테이블에 저장하고,
이 내역으로 리다이렉트 하는 방법을 검토해볼 수 있습니다.
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: .htaccess와 PHP를 이용한 리다이렉트 (Apache 서버 기준)
-
.htaccess파일을 프로젝트 루트에 생성하거나 수정:ErrorDocument 404 /redirect.php -
redirect.php 파일에서 메인 페이지로 이동:
<?php header("Location: /index.php"); exit; ?>
답변에 대한 댓글 1개
결국 말씀하신게 리다이렉트 하라는 말씀이신거같은데
애초에 다른 방법은 없나보네요ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인