
무단 링크 는 웹사이트의 트래픽을 고의로 유출시키거나 서버 자원을 낭비하는 등 다양한 문제를 일으킬 수 있다.
특히 다른 사이트에서 내 콘텐츠를 무단으로 사용할 경우 SEO에도 악영향을 미칠 수 있다.
.htaccess 파일을 활용하여 무단 링크 방지하는 방법을 알아보자.
.htaccess
.htaccess 파일은 아파치 웹 서버에서 디렉토리 단위로 설정을 변경할 수 있는 강력한 도구다.
웹호스팅 서버에서 .htaccess 파일이 보이지 않는 경우 숨김 파일 표시를 하여 확인해보고 확인되지 않을 시 파일을 새로 만들자.
FileZilla 설정 방법
FileZilla » [서버] » [숨김 파일 강제 표시]
무단 링크
무단 링크는 내 웹사이트의 이미지, 동영상, 파일 등을 다른 사이트에서 임의로 사용하는 것을 말한다.
이는 서버 대역폭을 낭비하고 웹사이트 속도를 저하시킨다.
따라서 무단 링크를 차단하는 것은 웹사이트 운영에 있어 필수적인 작업이다.
무단 링크 방지
.htaccess 파일을 활용하면 특정 도메인에서만 내 콘텐츠에 접근할 수 있도록 제한할 수 있다.
기본 코드
내 사이트의 도메인을 제외한 모든 외부 사이트에서 콘텐츠를 사용하지 못하도록 차단한다.
기본 코드만 사용시 검색엔진에서 나온 검색 결과에서 내 사이트를 선택하면 접속이 되지 않는다.
아래 추가 팁을 확인하여 특정 확장자만 차단해보자.
SetEnvIF Referer "^(https://example\.com|^$)" permit
Order deny,allow
Deny from all
allow from env=permit
추가 팁
특정 확장자만 차단하거나 대체 파일을 표시하고 싶다면 아래 팁을 확인하자.
그러나 특정 확장자만 차단하거나 대체 파일을 표시하고 싶지 않다면
특정 확장자만 차단
특정 확장자만 차단하고 싶은 경우 위의 기본 코드에 <FilesMatch “\.(확장자)$”> … </FilesMatch> 블록으로 둘러싼다.
여러 확장자를 추가하고 싶으면 아래 예시와 같이 | 로 구분하여 확장자|확장자|확장자 이렇게 넣는다.
<FilesMatch "\.(jpg|jpeg|png|gif|mp4|avi|mov|mkv)$">
SetEnvIF Referer "^(https://example\.com|^$)" permit
Order deny,allow
Deny from all
allow from env=permit
</FilesMatch>
대체 파일 표시
무단 링크로 접근한 경우 대체 파일을 표시할 수 있다.
파일 대체는 SEO에 부정적인 영향을 미칠 수 있기 때문에 대체 콘텐츠가 원래 콘텐츠와 관련성이 높고 품질이 좋을 때만 고려하는 것이 좋다.
SEO를 최적화 하려면 원래 파일을 유지하거나 필요 시 관련성이 높은 콘텐츠로 리디렉션하는 것이 더 효과적이다.
RewriteRule \.(확장자)$를 어떤 확장자일 때 어떤 대체 파일을 보여줄 것인지 지정하자.
여러 확장자를 추가하고 싶으면 아래 예시와 같이 | 로 구분하여 확장자|확장자|확장자 이렇게 넣는다.
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https://example\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ /대체이미지경로.png [NC,R,L]
RewriteRule \.(mp4|avi|mov|mkv)$ /대체동영상경로.mp4 [NC,R,L]
.(점)을 문자 그대로 인식하도록 이스케이프(\) 해야한다. $는 앞의 확장자로 끝난다는것을 확인하기위해 넣는다.
기본적으로 302 리디렉션(임시 리디렉션)으로 처리되지만 [R=301]과 같이 숫자를 추가하여 301(영구 리디렉션) 등을 지정할 수 있다.
모두 반영한 코드
추가 팁까지 모두 다 반영한 코드를 알아보자.
RewriteEngine On
# 파일 접근 제어
<FilesMatch "\.(jpg|jpeg|png|gif|mp4|avi|mov|mkv)$">
SetEnvIF Referer "^(https://example\.com|^$)" permit
Order deny,allow
Deny from all
allow from env=permit
</FilesMatch>
# 파일 대체
RewriteCond %{HTTP_REFERER} !^https://example\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ /대체이미지경로.png [NC,R,L]
RewriteRule \.(mp4|avi|mov|mkv)$ /대체동영상경로.mp4 [NC,R,L]
결론
위와 같은 방법으로 .htaccess 파일을 활용해서 무단 링크를 효과적으로 차단할 수 있다.
웹사이트의 안전한 운영을 위해 필수적인 작업임을 절대 잊지 말자.