아파치 .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]
위의 예제를 참고해서 원하는 리디렉트 처리가 가능하다.
.htaccess 에서 RewriteEngine 이 안 된다면 https://ivps.tistory.com/97 여기를 참고하자.
'LINUX' 카테고리의 다른 글
리눅스 아파치 VirtualHost 설정 방법 (0) | 2016.05.26 |
---|---|
CentOS 7.x 아파치 mod_ruid2 설치 및 설정방법 (0) | 2016.05.26 |
리눅스 네트워크 트래픽 모니터링 vnstat 설치 (1) | 2016.05.25 |
아파치 디렉토리 리스트 안나오게 하기 (0) | 2016.05.25 |
리눅스 쉘스크립트 비교연산자 및 기타 (0) | 2016.05.25 |