728x90
300x250

[Linux] Apache 2.x에서 Host를 Redirect하여 연결하기

호스트를 원하는 방향으로 다시 향할 수 있도록 하는 방법에 대해서 몇가지 소개하고자 합니다.

1. 첫페이지(index)를 통해 방향을 재탐색하는 방법입니다.

<META HTTP-EQUIV="Refresh" Content="0; URL=http://www.company.com/dir1/">

<html>
<head>
<META HTTP-EQUIV="Refresh" Content="3; URL=http://www.company.com/dir1/">
</head>
<body>
This page will forward to http://www.company.com/dir1/ in three seconds.
<p>
Please update your links.
</body>
</html>


2. cgi를 이용한 재 탐색 방법입니다. (mod-cgi)

설정 파일 명 : httpd.conf

ScriptAlias / /var/www/cgi-bin/redirect-script/

설정 파일 명 : /var/www/cgi-bin/redirect-script
#!/usr/bin/perl

print "Status: 301 Moved\r\n" .
      "Location: http://www.new-domain.com/\r\n" .
      "\r\n";

또는

#!/usr/bin/perl -w
use strict;
use CGI qw/:standard/;
print redirect('http://www.new-domain.com');

3. PHP를 이용한 방법 입니다.

<?php
header("Location: http://www.new-domain.com/");
?>

4. 자바스크립트를 이용한 방법입니다.

<html>
<head>
<script language="Javascript" type="text/javascript">
<!-- Hide script
//<![CDATA[
window.location.href="http://www.new-domain.com/"    
//]]> End script hiding -->
</script>
</head>
</html>

5. Apache 서버 모듈을 이용하는 방법입니다.(mod_rewrite)
RewriteEngine On
RewriteRule /.* http://www.new-domain.com/ [R]

6. Apache 서버 모듈을 이용하는 방법입니다.(mod_alias)

설정 파일명 : httpd.conf
1. Redirect Domain:
Redirect / http://www.new-domain.com/
또는
Redirect permanent / http://www.new-domain.com/

2. Redirect Page:
Redirect /web-page.html http://www.new-domain.com/destination-web-page.html

참고 : 재탐색(Redirect)을 지시하기 전에 앞서 Alias(별명)과 ScriptAlias를 지시해야 합니다.
다른 "재탐색(Redirect) 옵션들 포함 : 
(임시 오류 번호 : 302는 기본값 - 임시적으로 재탐색되는 상태)
'오류 번호 303'이라고도 불리고 See other라는 메시지로 보여지는 것은 다른 것과 대체하던지, '오류 번호 404' 를 영구히 제거해야만 합니다.

예제) vhost를 이용한 redirect(재탐색) 기법
<VirtualHost XXX.XXX.XXX.XXX>
ServerName directtolinux.com
ServerAlias www.directtolinux.com
ServerAlias direct-to-linux.com
ServerAlias www.direct-to-linux.com
ServerAlias digitalpenguins.com
ServerAlias www.digitalpenguins.com
Redirect permanent / http://www.yolinux.com/
</VirtualHost>

7. Apache 서버에서 .htaccess 파일을 이용하여 재탐색하기.

vi나 vim에디터를 이용하여 사용자 계정 public_html(사용자 홈페이지 디렉토리 - 설정하신 폴더에 넣어주세요)에 .htaccess를 수정하거나 만듭니다.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^yolinux.com
RewriteRule ^(.*)$ http://www.yolinux.com/$1 [R=permanent,L]

SP. Apache 서버에서 httpd.conf와 .htaccess 파일을 이용한 재탐색 기법.

설정 파일명(위치) : /etc/httpd/conf/httpd.conf
(apache서버를 설치한 폴더 위치를 찾아서 하시기 바랍니다.)

아래의 예제는 현재 .htaccess를 사용할 수 없는 상태를 뜻하고 있습니다.
<Directory />
         AllowOverride None
</Directory>

AllowOverride All로 바꾸시면 .htaccess를 사용하실 수 있습니다.

설정 파일명(위치) : .htaccess(/home/domain/public_html/.htaccess)에 위치합니다.
/home/domain/public_html/.htaccess 에 생성하신 도메인이 아래와 같이 보이는 것과 같이 향하게 됩니다.

특정 도메인으로 이동

Redirect 301 /  http://www.new-domain.com/

특정 파일로 이동

Redirect 301 /old-page-1.html  http://www.newdomain.com/new-page-1.html
Redirect 301 /old-page-2.html  http://www.newdomain.com/new-page-2.html

반응형

+ Recent posts