programing

이전 워드프레스 블로그 게시물 URL을 새 것으로 리디렉션하는 방법

lovejava 2023. 10. 16. 21:25

이전 워드프레스 블로그 게시물 URL을 새 것으로 리디렉션하는 방법

My Wordpress 사이트의 블로그 게시물 URL은 다음과 같습니다.

http://example.com/some-random-blog-post-name http://example.com/other-random-blog-post-name http://example.com/in-case-you-dont-get-the-point-theyre-all-different

나의 새로운 워드프레스 사이트에서 나는 그들이 속한 /blog/서브디렉토리에서 살기를 원합니다.

http://example.com/blog/some-random-blog-post-name

이것의 까다로운 점은 이전 URL이 아무런 패턴을 따르지 않기 때문에 인식되지 않는 것과 일치시켜야 한다고 생각합니다.이런 게 거의 효과가 있어요

# Redirect unmatched blog posts to /blog/*
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !blog
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteRule ^(.*)$ https://example.com/blog/$1 [L,R=301,NC]
</IfModule>

...하지만 이는 워드프레스의 RewriteRules와 충돌하고, 변경되지 않고 통과해야 하는 다른 모든 사이트 페이지를 깨버립니다.

그렇다면 어떻게 하면 다음을 달성할 수 있을까요?

example.com/some-random-post301-->example.com/blog/some-random-post example.com/another-random-post301-->example.com/blog/another-random-post

example.com/contact/--> (방향 전환 안 함)

안에서.404.php테마의 (또는 404 핸들러) 이 토막글을 파일의 시작 부분에 사용할 수 있습니다.

<?php

$url = $_SERVER['REQUEST_URI'];

if (stripos($url, "/blog/", 0) !== 0) {
   header("Location: " . "/blog" . $url);
   exit;
}

// rest of the 404 code
?>

제가 당신이라면 ftp에 새 파일 '블로그'를 만들고 이 새 파일에 있는 모든 오래된 워드프레스를 잘라 붙여넣을 것입니다.이렇게 하면 .htaccess에서 아무것도 변경할 필요가 없고 워드프레스보에서 리디렉션이 자동으로 수행됩니다.

언급URL : https://stackoverflow.com/questions/35948704/how-to-redirect-old-wordpress-blog-posts-urls-to-new-ones