2012-05-21 2 views
0

사이트를 시작하고 htaccess 파일을 설정하여 301 이전 사이트의 이전 링크를 새 사이트로 리디렉션하려고합니다. 가능한 한 도움이되기를 원합니다. 따라서 이전 사이트의 특정 링크를 새 사이트의 유사한 컨텐츠가있는 페이지로 리디렉션하고 싶습니다.htaccess 파일 설정

내가 원하는 것은 누군가 www.oldsite/oldlink.html에 가면 www.newsite.com/newlink.html로 리디렉션되지만 다른 페이지로 이동하면됩니다. www.newsite.com/로 리디렉션됩니다.

나는 내 htaccess로 파일에서이 같은 코드를 사용하여 첫 번째 부분 (다른 한 페이지에 한 페이지를 리디렉션을) 할 수있는 알고

Redirect 301 /oldlink.html 
http://www.newsite.com/newlink.html/ 
내 질문은 주위에 "캐치 올 만들고 싶은 회귀한다

Redirect 301/
http://www.newsite.com/ 

그러나이 oldlink.html가 내가 만든 리디렉션 덮어 쓰게됩니다 : 나는 그들이 존재 알고하지 않았기 때문에 "나는이 작업을 수행 할 수있어 등, 내가 특별히 여기에 전화하지 아니하는 링크 리디렉션 위?

답변

2

이를 사용할 수 있습니다

RewriteEngine on 
RewriteRule oldlink.html http://www.newsite.com/newlink.html [NC,R=301,L] 
RewriteRule (.*) http://www.newdomain.com/ [NC,R=301,L] 

은 (NC = 문자 구분 없음 케이스/케이스, L = 마지막 규칙)

첫 RewriteRule의 일치하면, 두 번째는 사용되지 않습니다를. 원하는만큼 규칙을 추가 할 수 있습니다. 또한 http://newsite.com/somelink.htmlhttp://www.oldsite.com/somelink.html을 리디렉션 할 수있는이 정확히 내가 준 것이 답이다

RewriteRule ^(.*)\.html$ http://www.newsite.com/$1.html [R=301,NC,L] 
+1

를 사용하여 ("NewSite 사이트"가 아닌 페이지 이름 만 "oldsite"변경). 그러나 추가하기 만하면 규칙이 파일에 나타나는 순서대로 해석/적용된다는 것을 알고 있는지 확인하십시오. 가장 마지막에 캐치 올 (catch-all)을 넣고 다시 쓰는 데있어 최종 결과물 인 "L"을 지정하십시오. 그렇지 않으면 더 많은 일치를위한 규칙을 계속 따라갈 수 있습니다. –

+0

도움을 주셔서 감사합니다! – Ash