본문 바로가기
내가 만든 것/스크립트 Scripts

[윈도우 Batch-Script] hosts 에 도메인 지정하기. (개발자용)(업데이트 2019-03-05)

by 언제나초심. 2015. 12. 29.
반응형

개요

개발자는 hosts 파일에 수정을 할일이 참 많습니다...


hosts 파일에 127.0.0.1 로 항목을 추가하면, 여러개의 웹사이트를 로컬에서 돌려볼 수 있습니다.



본문

보통 웹서버에는 vhost, virtual host 설정 같은 것을 해둡니다. 


문제는 로컬에서 이용되는 도메인이 localhost 밖에 없다는 것인데, 이 것에 대해서 hosts 파일에서 적용을 할 수 있습니다. 



보통 로컬에서 이용 가능한 도메인은 localhost, local, test, example 등이 있습니다.  



예를 들면 아래와 같은 구성이 가능합니다.

workspace.local

mediaserver.local

test.localhost



보안 소프트웨어나 기타 툴이나 윈도우 재설치 등으로 hosts 파일이 원래대로 돌아가버리는 경우가 흔히 일어나기 때문에, 다음과 같은 배치 파일을 셋팅해놓고 '관리자 모드로 실행' 해서 hosts 파일에 배치작업을 하면 편합니다. 



예제 샘플

(메모장으로 복사후 [파일명.bat] 으로 저장할 것)


@ECHO OFF
MODE CON COLS=40 LINES=11
COLOR 3F

ECHO ======================================
ECHO Windows Local 환경의 Hosts 파일 수정
ECHO Author : e2xist (e2xist.tistory.com)
ECHO ======================================

SET FILE=%SystemRoot%\System32\drivers\etc\hosts
REM ====================================
REM 여기에 호출할 때마다 hosts 에 값을 추가합니다.
REM ====================================
CALL :SETHOST workspace.local
CALL :SETHOST mediaserver.local
CALL :SETHOST myhome.local
ECHO 설정을 완료하였습니다.

TIMEOUT /T 10


REM close
GOTO :EOF

REM ====================================
REM hosts 의 값을 추가하는 함수
REM ====================================
:SETHOST
SET STRING=127.0.0.1 %1
TYPE %FILE% | FIND "%STRING%"> NUL
IF "%ERRORLEVEL%"=="0" GOTO END
ECHO %STRING%>> %FILE%
ECHO %1 created.
:END



git 에도 올려두었습니다. 변경점이 있는지 확인하시면 좋습니다.

https://github.com/exizt/WindowsLocalHostSetting.bat



반응형