2013-04-10 5 views
-4

내 페이지 중 일부가 IP 주소 및 하위 폴더/사용자 폴더로 인덱싱되고 있습니다. 어떤 트래픽 예 루트 폴더 주소 모두를 강제하는 가장 좋은 방법입니다 :IP 주소 및 하위 폴더를 새 도메인 이름으로 리디렉션

123.456.789.012/~user/path1/path2/ 

그것에 대해 더 명확하게하기 위해

domainname.com/path1/path2/ 

로 리디렉션 ... 123.456.789.012/~user이 내 루트 도메인입니다. 도메인 이름이 인 모든 트래픽이 필요합니다. 새 주소를 domainname.com/~user/으로 표시 할 수 없습니다. 해당 폴더는 도메인 이름의 주소 일부가 아니기 때문입니다.

123.456.789.012/~user --- 정확히로 리디렉션한다 ->domainname.com

+0

".htaccess"를 사용하십시오. – Amirshk

+0

이것은 일반적으로 사이트의 IP에 대한 링크가있는 경우에만 발생하므로 수정해야합니다. –

+0

누군가가 IP 주소로 링크를 하드 코딩했으나 이제는 Google에서 해당 주소로 링크를 보내고 있습니다. 따라서 모든 트래픽을 새 주소로 리디렉션하고 방문자를 잃지 않으려합니다. –

답변

1

하면 도메인의 사용을 강제 할 수있는 .htaccess 파일을 만듭니다

Options +FollowSymLinks 
RewriteEngine on 

RewriteCond %{HTTP_HOST} !^domainname.com$ [NC] 
RewriteRule ^(.*)$ http://domainname.com/$1 [R=301,L] 

을 편집 : 또는 또한 부분을 제거하려면 :

RewriteRule ^(?:~user\/)?(.*)$ http://domainname.com/$1 [R=301,L] 
+0

내 진짜 질문은 domainname.com/ 다음에 "/ ~ user /"를 표시 할 수 없다는 사실입니다. –

+0

@MikeWish 제 편집은 그것을 처리해야합니다. – showdev

+0

/~ user /를 제거하기 위해 추가 한 마지막 줄은 첫 번째 코드 블록에서 사용한 마지막 줄 대신에 사용됩니까? –

1

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

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

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

내 진짜 질문은 domainname.com/ 다음에 "/ ~ user /"가 표시되지 않는다는 사실입니다. –

+0

웹 서버에서이 답변을 테스트 했습니까? 그리고 domainname.com 뒤에''~ ~ user /''를 표시할지 여부를 명확히 하시겠습니까? – anubhava

+0

명확히하기. 사이트의 주소는 123.456.789.012/~user/입니다. 그것이 사이트의 근원입니다. 해당 주소가 domain.com으로 리디렉션되기를 원합니다./~ user /는 리디렉션에서 삭제해야하고 123.456.789.012/ ~ user/file.pdf와 같은 다른 모든 리디렉션이 필요합니다. 이 경우 123.456.789.012/~user/file.pdf가 domain.com/file.pdf로 리디렉션되어야합니다. –

1

이 시도, 로 리디렉션됩니다/경로 1/경로 2 대신 /~ 사용자/경로 1/경로 2

Options +FollowSymLinks 
RewriteEngine on 

RewriteCond %{HTTP_HOST} !^domain\.com$ [NC] 
RewriteRule ^~user/(.*)$ http://domain.com/$1 [R=301,L] 
관련 문제