2012-12-04 5 views
1

(http://www.)domain.com/path/anotherpathhttps://www2.domain.com/path/anotherpath으로 리디렉션 할 수 있도록 지난 수일 동안 내 .htaccess에 대한 적절한 솔루션을 작성하는 데 어려움을 겪고있었습니다.특정 경로를 찾을 때 .htaccess 리디렉션

내가 관리해야

는 다음과 같이 작동하도록 : 나는 예를 들어 같은 더 깊은 수준에 포함 된 페이지로 리디렉션해야 할 때

RewriteCond %{THE_REQUEST} www\.domain\.com\path\anotherpath 
RewriteRule (.*) https://www2.domain.com/path/anotherpath [R=301,L] 

그러나,이 솔루션은 보이지 않는다

가 작동 : domain.com/를 path/anotherpath/level1/level2 (레벨 1과 레벨 2는 동적 임). 이제 특정 전체 URL이 탐지 된 경우에만 리디렉션됩니다.

htaccess에서 전체 URL을 정의하지 않고이 작업을 수행하려면 어떻게해야합니까?

도움이 될 것입니다.

은 mod_rewrite를 사용하고 httpd.conf을 통해 .htaccess로 다음 .htaccess DOCUMENT_ROOT 아래 디렉토리에이 코드를 넣어

답변

1

감사 :

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^www\.(domain\.com)$ [NC] 
RewriteRule ^(shop)(/.*|)$ http://www2.%1/$1$2 [R=301,L] 
+0

나는 당신의 제안을 시도했지만이 방식으로 작동하지 않는 것 I 설명했다. 그래서 나는 내 설명이별로 좋지 않다고 생각한다. 내가해야 할 일은 url에서 http://www.domain.com/path/anotherpath가 발견 될 때마다 더 많은 레벨이 다음 URL을 따르더라도 https://www2.domain.com/path/anotherpath로 변경하십시오. url은 다음과 같습니다. http://www.domain.com/path/anotherpath/level1/level2. 따라서 리디렉션 된 URL은 https://www2.domain.com/path/anotherpath/level1/level2가됩니다. 단지 level1/level2가 동적이어서 .htaccess에서 정의 할 수 없습니다. – otinanai

+0

나는 귀하의 질문을 이해하고 그에 대한 나의 대답만을주었습니다. 질문에 .htaccess를 게시하거나 편집 된 답변을 시도해 볼 수 있습니까? – anubhava

+0

여기 내 .htacces 조정 방법은 다음과 같습니다 RewriteBase에 옵션 + FollowSymLinks를 -MultiViews 한다 RewriteEngine을/ #이 HTTPS 웹 사이트는 LaCie의 공식 웹 사이트 URL 한다 RewriteCond %로 SHOP 페이지를 리디렉션 {HTTP_HOST}^www가 \ (사용자 도메인 \ .COM \ 갖추고 있습니다. \ shop) $ [NC] RewriteRule^http : //www2.%1 {mydomain.com/en/shop} [R = 301, L] – otinanai

관련 문제