본문 바로가기

Story/Server

아파치 설정으로 검색엔진 차단된 사이트 .htaccess 로 푸는 방법

반응형


과다한 트래픽때문에 검색엔진에 크롤러들을 차단해둔 경우가있다.

아파치 설정 파일인 httpd.conf  파일에 에이젼트를 나열하여

BrowserMatchNoCase "WebZIP" go_out
BrowserMatchNoCase "Teleport" go_out
BrowserMatchNoCase "NamoWebEditor" go_out
BrowserMatchNoCase "WebSymmetrix" go_out
BrowserMatchNoCase "GetRight" go_out
BrowserMatchNoCase "WebCopier" go_out
BrowserMatchNoCase "FlashGet" go_out
BrowserMatchNoCase "Nimo" go_out
BrowserMatchNoCase "Googlebot" go_out
BrowserMatchNoCase "msnbot" go_out
BrowserMatchNoCase "msnbot-media" go_out
BrowserMatchNoCase "msnbot-NewsBlogs" go_out
BrowserMatchNoCase "Yahoo" go_out
BrowserMatchNoCase "Yahoo!" go_out
BrowserMatchNoCase "Feedfetcher-Google" go_out
BrowserMatchNoCase "Alexa" go_out
BrowserMatchNoCase "OutfoxBot" go_out
BrowserMatchNoCase "Netcraft" go_out
BrowserMatchNoCase "Gigabot" go_out
BrowserMatchNoCase "findlinks" go_out
BrowserMatchNoCase "NaverBot" go_out

와 같은 설정을 해서 막은경우인대 이경우 해당 검색엔진 봇이 크롤링할때 403 에러가 발생하면서 차단된다.
웹서버에 .htaccess 파일 사용이 허가 되어있을경우 .htaccess 파일을 설정해서 위의 설정을 덮을수있다.

SetEnvIfNoCase User-Agent .*google.* search_robot
SetEnvIfNoCase User-Agent .*yahoo.* search_robot
SetEnvIfNoCase User-Agent .*naver.* search_robot
SetEnvIfNoCase User-Agent .*daum.* search_robot
SetEnvIfNoCase User-Agent .*msn.* search_robot

Order Deny,Allow
Allow from env=search_robot

특정 경로 (ex "/" ) 에 .htaccess 을 만들고 위의 내용을 입력해주면 해당 검색엔진에게 허용을 한다.

특정 경로 예를들면 관리자 페이지등이 검색엔진에 노출되지 않게 하려면 robots.txt 파일에 설정해 주면 된다.
모두허용할경우는

User-agent: *
Allow: /

특정 디렉토리를 허용하지 않을 경우는

User-agent: *
Disallow: /admin/

와 같이 해준다.

반응형