2016-09-06 3 views
0

에 대한 리디렉션 htaccess로 나는 다음과 같은 URL이 있습니다 URL에 후행 번호 요소가있는 경우특정 URL 구조

https://www.site-a.xyz/tutorials/post-name/2 

내가 다음 URL 기본적으로

https://www.site-b.xyz/post-name/2 

로 리디렉션 할 필요를 (이 경우 /2) URL의 /tutorials/ 부분을 제거해야합니다.

주 : 뒤에 번호

+0

'site-a'와'site-b'는 같은 파일 시스템에서 호스팅됩니까? 아니면 완전히 분리 되나요? – MrWhite

+1

완전히 분리 – richelliot

답변

1

www.site-a.xyz에서 당신의 .htaccess 파일의 상단에있는 다음 (사용 mod_rewrite를) 시도가있는 경우에만이 경우

RewriteEngine On 
RewriteRule ^tutorials/([^/]+/\d+)$ https://www.site-b.xyz/$1 [R=302,L] 

을, 후행 숫자는 1 자리 이상일 수 있습니다. 예를 들어 하나의 숫자 일 경우 단순화해야합니다 (\d+에서 \d으로 변경). $1RewriteRule패턴의 캡처 된 그룹에 대한 역 참조입니다.

이것은 임시로 리디렉션되는 것이므로 영구적 인 경우 302입니다. 작동하는 것으로 확인되면 301으로 변경하십시오. 301은 브라우저에 의해 캐싱되므로 테스트에 문제가 발생할 수 있습니다.

UPDATE : 다음과 같이의 RewriteRule 패턴의 끝 부분 /?을 추가 소스 URL에 옵션 후행 슬래시를 허용하려면 다음

RewriteRule ^tutorials/([^/]+/\d+)/?$ https://www.site-b.xyz/$1 [R=302,L] 

이 notatably 스트립 옵션 후행 슬래시에서을 리디렉션 대상. (그러므로 중복 된 내용 문제를 피하십시오.)

+0

답변이 잘 작동합니다. 그러나 URL에 후행 슬래시가 있으면 어떻게 될까요? 즉 - https://www.site-a.xyz/tutorials/post-name/2/ – richelliot

+0

위의 URL에 후행 슬래시를 추가 할 수없는 이유가 있습니다. – richelliot

+0

위 지시문은 후미 슬래시 (질문에 명시된 "후행 번호")를 허용하지 않습니다. 나는 _optional_ 슬래시를 허용하도록 내 대답을 업데이 트했습니다. – MrWhite