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