2016-06-11 5 views
1

나는 방금 구입 한 도메인에서 블로그를 시작하며 다른 블로그를 하위 도메인으로 설정하려고합니다.URL 리디렉션을 통해 HTACCESS

이제이 보조 블로그가 시작되면 가까운 장래에 내가 원하는대로 도메인을 설정하고 싶습니다.하지만 내 도메인을 누가 설정했는지 궁금합니다. 새 URL에 대한 기존 URL이 있어야합니다.

domain.com >>> htaccess . index.php . about.php . blog/ . features/ 

BlogFeatures 폴더도 htaccess 파일을 자신의 index 페이지 + 기타 관련 PHP 페이지가 포함

은이 같은 폴더 구조를 가지고있다.

domain.com 폴더 아래에있는 기본 htaccess 파일 만 사용하여 새 도메인으로 사람들을 리디렉션 할 수 있는지 또는 각 하위 폴더 내에서 htaccess를 편집해야하는지 궁금합니다.

이 작업을 수행하는 가장 좋은 방법은 무엇이며, 어느 정도까지 성공적으로 수행 할 수 있습니까? 누군가가 이전 도메인에 액세스 할 때

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule (.*) http://www.newblog.com/$1 [R=301,L] 

그래서, 그것은 새로운 하나에 직접 것 :

+0

'RewriteRule의^HTTP로 이동하려고 시도 할 때마다 다음에서이 newdomain.com에 직접 갈 수에있는 브라우저에게 의미 //new-domain.com% {REQUEST_URI} [R, L]'그 그것입니까 – hjpotter92

+0

그리고 이것은 ** 기본 ** htaccess에 간다? 내가 다른 모든 파일과 폴더를 삭제할 수 있고 하위 도메인에 하나의'htaccess'가있을 수 있다는 것을 의미합니까? –

+0

예! 그게 전부입니다. – hjpotter92

답변

1

예, 당신이해야 할 모든은 다음을 사용합니다.

+0

주의하십시오. 이 규칙은 메인 블로그에 대한 쿼리를 포함하여 모든 것을 리디렉션합니다. 원하는 것은 하위 도메인으로 요청 만 리디렉션하는 것입니다. 이를 위해 조건을 다시 작성해야합니다 (조건이 충족 될 때만 리디렉션). 내 대답을 참조하십시오. – BeetleJuice

0

서브 도메인 sub.mydomain.comnewdomain.com으로 옮기면 htaccess mod_rewrite 모듈을 사용하여 서브 도메인의 쿼리를 새 도메인으로 리디렉션 할 수 있습니다. 이전 도메인을 제어하는 ​​최상위 레벨 htaccess 파일에 규칙을 넣습니다. 새 도메인 그냥 재 작성 규칙에서 해당 제거, www 접두사를 사용하지 않는 경우

Options +FollowSymLinks 
# turn on mod_rewrite 
RewriteEngine On 
RewriteBase/

# only redirect if query is for the sub domain (non case-sensitive match) 
RewriteCond %{HTTP_HOST} ^sub\.mydomain\.com$ [NC] 

# rewrite all urls (that match the subdomain host) to new domain, 
# be sure to include the original path and query string 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [QSA,L,R=301] 

: 위의 예제는 도메인을, 그것은 뭔가를 할 것이다. QSA은 쿼리 문자열 (? 문자 다음의 url 부분)을 보내도록 서버에 지시합니다. L은 htaccess 문서 처리를 중지하는 것을 의미합니다. R=301는 사용자가 sub.mydomain.com

+0

이렇게하면 사용자가 'http://old-domain.com/features/interviews/1111/an-interview -with-a-band'라고하면 자동으로 http : // new-domain.com/features/interviews/1111/an-interview-with-a-band로 리디렉션됩니다. –

+0

정확하지 않습니다. 당신은 OP에서 하위 도메인의 블로그 만 새 사이트로 리디렉션하려고한다고 말했습니다 (기본 도메인의 기본 블로그를 리디렉션하지 않고)?'old_domain.com'으로 이동하는 사용자는 리디렉션되지 않으며 ('RewriteCond'조건을 충족시키지 못하지만 'subdomain.old_domain.com'으로 이동하는 사용자는 리디렉션됩니다.) 또한 위의 규칙 thickguru의 대답과 달리 질의 문자열을 보존 할 것이다 .' subdomain.olddomain.com/path? post = 123'은'newdomain.com/path? post = 123'으로 리다이렉션되어야한다. 그래서 나는'QSA' 플래그를 가지고있다. 규칙 – BeetleJuice

+0

여기 QSA를 사용할 필요가 없습니다 .QSA는 대상 경로에 검색어 문자열이 포함 된 경우 유용합니다. – starkeen

관련 문제