2012-07-16 5 views
0

이전 사이트 (wellnowwhat.net/nin/*.*)의 모든 페이지를 새 사이트의 인덱스로 리디렉션하려고합니다. sykonaut.net/nin_old/). 새 사이트의 .htaccess (이전 사이트는 친구가 소유하고 있음)에만 액세스 할 수 있으므로 반대 방향으로 테스트하고 있습니다. mod_rewrite를 사용하여 루트 (sykonaut.net)를 루트 (wellnowwhat.net)로 리디렉션 할 수 있지만 nin_old 디렉토리를 그의 nin 디렉토리로 리디렉션 할 수는 없습니다. 나는 반대 방향으로 방향을 바꿀 수 없을 것이라고 생각합니다. 여기 내 .htaccess에있는 코드의 [전체 내용]은 다음과 같습니다.mod_rewrite를 사용하여 이전 도메인의 폴더에있는 모든 페이지를 새 도메인의 인덱스로 리디렉션

AddHandler php5_2-wrap .php 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www.sykonaut.net$ [NC] 
RewriteRule ^/nin_old(.*)$ http://www.wellnowwhat.net/nin [R,NC,L] 

작동하지 않습니다. 왜 그런지 알아?

답변

1

놓습니다 nin_old 디렉토리에 .htaccess. 당신이 디렉토리에 외부 URL로 리디렉션 할 때 여분의 리디렉션을 줄이기로

RewriteEngine on 
RewriteBase /nin_old 
RewriteRule ^.* http://www.wellnowwhat.net/nin/ [R,NC,L] 

, 나는 후행 슬래시를 추가합니다.

또한 모든 것을 테스트하고 괜찮을 때 RR=301으로 변경하면 대부분의 검색 엔진에서 영구 리디렉션을 사용하는 것이 좋습니다.

+0

어떤 이유로 든 작동하지 않습니다. 이제 웹 사이트 루트와 nin_old에서 모두 .htaccess가 있습니다. 문제가 될 수 있습니까? – electrickoolaid42

+1

@ electrickoolaid42'RewriteCond % {HTTP_HOST}^www.sykonaut.net $ [NC]'제거를 시도해보십시오. 어쨌든 이것이 필요하지 않다고 생각합니다. –

+0

Hrm. 진행. 이제 파이어 폭스는 나에게이 메세지를 보낸다. 페이지가 제대로 리다이렉트되지 않는다. 파이어 폭스가 서버가이 주소에 대한 요청을 결코 완료되지 않는 방향으로 리다이렉트하고 있음을 발견했다.이 문제는 때때로 쿠키를 사용 불가능하게하거나 거절함으로써 발생할 수있다. – electrickoolaid42

0

apache 2.0 이상에서는 .htaccess 파일의 규칙에 대한 재 작성 엔진을 통과하기 전에 접두사 (선행하는 "/")가 URI에서 제거됩니다. 규칙에 정규 표현식에서 선도적 인 슬래시를 제거하십시오 :

RewriteRule ^nin_old(.*)$ http://www.wellnowwhat.net/nin [R,NC,L] 
+0

차이점을 보지 마세요. =/ – electrickoolaid42

+0

@ electrickoolaid42 htaccess의 다른 규칙은 무엇입니까? 그들이 간섭하지 않는다고 확신합니까? 이 규칙을 아파치 서버의 htaccess에 넣고 http://www.sykonaut.net/nin_old/blah를 요청하면 http://www.wellnowwhat.net/nin으로 리다이렉트합니다. –

+0

포스트가 전체를 포함하도록 편집되었습니다. 내 .htaccess – electrickoolaid42

관련 문제