.htaccess 다중 301 리디렉션

.htaccess 다중 301 리디렉션

Apache 서버에 호스팅된 블로그를 새 도메인으로 이동하려고 합니다.

블로그 게시물의 영구 링크는 동일하게 유지되지만 새 도메인에서 URL 슬러그가 변경되는 페이지가 몇 군데 있습니다.

내 질문은 다음이 가능한지, 그리고 다시 쓰기 규칙을 사용하여 이를 수행하는 방법입니다.

블로그 게시물의 URL 슬러그/영구 링크와 이전 도메인에 있는 대부분의 페이지는 새 도메인에서도 동일하게 유지됩니다. 그래서 새 도메인에서 동일한 /slug를 찾을 수 있도록 에서 https://huiskopenomteverhuren.nl/으로 리디렉션하는 리디렉션 규칙을 추가할 수 있다고 생각합니다.https://vastgoedmentor.com

이전 웹사이트의 일부 페이지가 새로운 고유 링크로 이동되었습니다. 따라서 예 https://huiskopenomteverhuren.nl/kennisbank/를 들어 https://vastgoedmentor.com/resources다른 페이지에도 리디렉션하고 이를 수행하려면 추가 규칙이 필요합니다 .

답변1

RewriteRule서버 구성 내에서 정규식을 사용하여 여러 지시문을 만들 수 있습니다 . 변경된 영구 링크를 사용하여 특정 리디렉션부터 시작해야 합니다. 다른 모든 페이지에 대한 일반 리디렉션은 끝에 추가할 수 있습니다.

RewriteEngine On

RewriteRule ^/kennisbank(/.*)?$ https://vastgoedmentor.com/resources$1 [END,R=301]
RewriteRule ^/old2(/.*)?$       https://vastgoedmentor.com/new2$1      [END,R=301]
RewriteRule ^/old3(/.*)?$       https://vastgoedmentor.com/new3$1      [END,R=301]

RewriteRule ^/(.*)$           https://vastgoedmentor.com/$1           [END,R=301]

표기법은 (/.*)?후행 슬래시 유무에 관계없이 리디렉션을 수행하고 새 URL에 추가 경로 세부 정보를 추가합니다. 따라서 huiskopenomteverhuren.nl/kennisbank/something-or-nothing로 바뀌게 됩니다 vastgoedmentor.com/resources/something-or-nothing.

에 대한 자세한 내용은 다음 RewriteRule에서 확인할 수 있습니다. https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule

모든 규칙이 다른 도메인을 가리키므로 루프가 발생할 위험이 없습니다. 그러나 END나머지 규칙을 평가하지 않으려면 모든 규칙에 플래그를 추가하는 것이 좋습니다 . L플래그 외에 END플래그는 .htaccess 파일의 추가 규칙 평가도 방지합니다.

플래그에 대한 자세한 내용은 다음에서 확인할 수 있습니다. https://httpd.apache.org/docs/current/rewrite/flags.html

관련 정보