채택완료

없는 페이지로 접속 할시에 메인으로 이동

2026-07-02 (목) 18:12:42 158
수고하십니다.

사이트 리뉴얼을 하면서 주소 변경이 되었습니다.

기존 aaa.com/aa.php 로 접속시 없어졌으므로 페이지가 뜨지 않습니다. 404페이지가 아니라
main.php로 접속 되게 할 수 있는지 궁금합니다.

조언 좀 부탁드립니다.

감사합니다.
|

답변 5개 / 댓글 7개

채택된 답변
+20 포인트
없는 URL을 메인으로 보내는건 SEO와 디버깅 측면에서 적절하지 않다봅니다.
필요한 기존 URL만 301 리다이렉트하는 방식은 어떨까요.
기존 URL은 해당 페이지로 301 리다이렉트하고,
그 외에는 정상적인 404 응답을 유지하는 것이 일반적인 운영 방식입니다.

답변에 대한 댓글 2개

2026-07-02 (목) 20:17:38
301 리다이렉트 쪽에 이 함수를 넣어 보면 되겠군요. 답변감사합니다. <script>location.href = "main.php";</script>
<script>location.href = "main.php";</script>는 301리디렉션이 아니라,
페이지가 열린 뒤 브라우저에서 실행되는 자바스크립트이동입니다.

기존 주소를 통해 접속하는 사용자/검색엔진까지 새주소로 안내하려는 목적이시라면,
웹서버나 PHP에서 HTTP 301 영구 리다이렉트를 설정하시는 것이좋습니다.

예로 기존 /aa.php의 내용이 /board/notice로 변경되었다면
/aa.php에 접속했을때 서버가 "이 페이지는 새 주소로 영구적으로 변경되었습니다."라고 알려주고,
브라우저와 검색엔진이 자동으로 /board/notice로 이동하도록 하는것이 올바른 방법입니다.

반대로 대응되는 새 페이지가 없는 경우에는 모든 요청을 main.php로 보내기보다는
404를 유지하는 것이 SEO관점에서적절합니다.
검색엔진도 해당 페이지가 더 이상 존재하지 않는다는 것을 올바르게 인식할 수있기 때문입니다.
2026-07-03 (금) 11:23:29
RewriteEngine On

# 실제 파일이 없고
RewriteCond %{REQUEST_FILENAME} !-f

# 실제 폴더도 없으면
RewriteCond %{REQUEST_FILENAME} !-d

# 메인으로 이동
RewriteRule ^.*$ / [R=302,L]

답변에 대한 댓글 1개

2026-07-03 (금) 12:37:52
답변 감사합니다.

htaccess 설정해서 가능합니다. 

다만 윗분들 말씀처럼 404를 유지하는게 좋습니다

답변에 대한 댓글 1개

2026-07-03 (금) 12:38:01
답변 감사합니다.
2026-07-02 (목) 19:42:21
성립되지않아요 없으면 없다고 오류나야 정상입니다. 
그래야 문제점을 찾지 안겠습니까?

답변에 대한 댓글 2개

2026-07-02 (목) 20:16:16
네 맞는 말씀이십니다. 각 포털에 등록되어 있는 주소들로 접속하는 사람들이 혹여나 사이트가 없어졌나 오해 할까봐 메인으로 보낼 수 있을까 했던 것 입니다. 답변 감사합니다.
그목적이라면 ... 그냥 RewriteRule ^aa\.php$ /main.php [R=301,L] 이렇게 처리 하면되지 않을까요?
아니면 모든404는 메인파일로...
ErrorDocument 404 /main.php
이게 아니면
ErrorDocument 404 /404.php 페이지로 이동하게 한다음
404.php 안내 페이지로 가게 요 예를 들어 무엇때문에 본페이지가 변경되었습니다. 라는 안내 처리후 원하는 main.php 로 자동으로 가게요
2026-07-02 (목) 19:10:32
404.html 에 아래의 스크립트를 넣으면 되지 않은까요?
-----
<script>location.href = "main.php";</script>

답변에 대한 댓글 1개

2026-07-02 (목) 20:16:37
한번 시도해 보겠습니다. 답변 감사합니다.

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