아파치 .htaccess Rewrite URL 리디렉트 처리



특정 파일 또는 이미지 호출시 다른 URL 로 리디렉션 하고 싶을때 Rewrite 모듈을 활용하면 된다.

아니면 특정IP 차단 등에 응용이 가능하다.


.htaccess 파일에 아래코드 추가


RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]

RewriteCond %{REMOTE_ADDR} ^192.168.100.123$

RewriteCond %{SERVER_PORT} !^8080$

RewriteCond %{REQUEST_URI} ^/directory/(.+).(jpg|gif|png)$ [NC]

RewriteCond %{HTTP_USER_AGENT} (Android) [NC]

RewriteRule ^(.*)/directory/(.+)$ http://www.example.com:8080/directory/$2 [R=301,L]


RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]

VirtualHost 운영중이라면 여러개의 호스트주소에서 www.example.com 인 경우 ( [NC] 는 대소문자 구별을 안함)


RewriteCond %{REMOTE_ADDR} ^192.168.100.123$

특정 클라이언트 IP 만 조건 처리 가능


RewriteCond %{SERVER_PORT} !^8080$

특정 포트 ! 은 반대의 의미 ( ^8080$ : 8080 포트인 경우, !^8080$ : 8080 포트가 아닐 경우 )


RewriteCond %{REQUEST_URI} ^/directory/(.+).(jpg|gif|png)$ [NC]

특정 디렉토리 아래의 확장자 jpg, gif, png 인 경우


RewriteCond %{HTTP_USER_AGENT} (Android) [NC]

유저에이전트가 Android 인 경우


RewriteRule ^(.*)/directory/(.+)$ http://www.example.com:8080/directory/$2 [R=301,L]

www.example.com:8080 으로 리디렉션 처리
도메인주소를 제외한 뒤쪽 주소가 동일하다면 http://www.example.com:8080%{REQUEST_URI} 이렇게도 처리가 가능하다.

위의 예제를 참고해서 원하는 리디렉트 처리가 가능하다.


.htaccess 에서 RewriteEngine 이 안 된다면 https://ivps.tistory.com/97 여기를 참고하자.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,