2012-02-10 3 views
0

나는 모든 것을 새로운 영역으로 옮기고있다. 이전 도메인의 URL이 http://example.com/article/article_title/date/and/etc 인 경우 다른 서버 (http://anotherserver.com/extradir/article/article_title/date/and/etc)로 리디렉션하고 싶습니다.mod_rewrite server.com/directory to new.com/directorynew/directory

요청 경로의 첫 번째 arg가 "article"이 아닌 경우 도메인 이름을 변경하고 리디렉션하십시오.

RewriteRule ^/article/(.*)$ http://anotherserver.com/extradir/article/$1 [R=301,L] 
RewriteRule ^(.*)$ http://anotherserver.com$1 [R=301,L] 

첫 번째는 일치하지 :

여기 내 자상입니다. 두 번째 잘 작동합니다.

이것은 Drupal에 있으며, Drupal 지시문을 피하기 위해 httpd.conf의 RewriteEngine On 지시문 바로 아래에 있습니다.

이것은 .htaccess가 아닌 httpd.conf에 있습니다.

위로 가기 RewriteRule이 작동하지 않는 이유에 대한 아이디어가 있습니까?

답변

1

첫 번째 규칙이 작동하지 않는 이유는 모르겠지만,이를 내 가상 호스트 구성에 넣으면 나에게 적합합니다. RedirectMatch을 사용해 보셨습니까?

RedirectMatch 301 ^/article/(.*)$ http://anotherserver.com/extradir/article/$1 
RedirectMatch 301 ^(.*)$ http://anotherserver.com$1 
+0

가끔은 좌절감을 표현할 사람이 필요합니다. 이 리디렉션은 작동합니다. 문제는 잘못된 지시어에이 리디렉션 코드가 있음이었습니다. 그래서 작동했지만 서버의 docroot에는 없습니다. mod_rewrite 규칙을 다른 서버에서 테스트 해 주셔서 감사합니다. - 조 –