2013-10-07 2 views
1

나는이 같은 요청을 리디렉션해야 내 htaccess로 파일에 다음과 같은 규칙이있다 일치 할 때를 제외하고 다른 도메인으로 리디렉션하는 방법 :URL을 특정 패턴

http://www.olddomain.com/some/url/ - 경로>http://www.newdomain.com/some/url/

일치하지 않는 /images/someimage.jpg 같은

규칙에 내장과 같은 몇 가지 예외를 제외하고,있다

:

RewriteRule ^(?!images/.*|css/.*|js/.*) http://www.newdomain.com/$1 [R=301,L] 

이것은 사용하여 테스트 할 때 예상대로 동작합니다 http://htaccess.madewithlove.be/

그러나 실제 서버에서는 $ 1이 설정되지 않습니다. 패턴과 일치하는 URL이 바로 홈 페이지로 리디렉션됩니다 "/"

이이 당신의 규칙을 교체 RewriteEngine On

답변

1

후, 내 htaccess로 파일의 첫 번째 규칙입니다 :

RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/((images|css|js)/ [NC] 
RewriteRule^http://www.newdomain.com%{REQUEST_URI} [R=301,L] 
+0

감사합니다, 이것은 작동하는 것 같습니다 - 어떤 시도가 내 시도가 작동하지 않았는가? 정규 표현식에 문제가없는 것처럼 보이지만, 설계 상 또는 그렇지 않은 방식으로 올바르지 않은 것 - mod-rewrite 방식을 사용하면 문제가되는 것입니다. –

+0

코드가 실제로'$ 1 '을 포착하지 않았습니다. 가장 가능성있는'RewriteRule^(? :(images : css | js) /) (. *) $ http://www.newdomain.com/$1 [R = 301, L]'이 효과가있었습니다. – anubhava

+0

그것은 http://htaccess.madewithlove.be/에 따라 그것을 점령했습니다 ... –