RadarURL
Skip to content
2009.06.24 21:55

.htaccess

조회 수 4279 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

아파치 서버에서 요즘에 와서 많이 언급이 되는 기능이 .htaccess 파일을 사용하여 디렉토리별로 설정을 많이 사용하고 있는 것 같은데 .htaccess 파일은 사용자가 서버 파일에 접근 할 수 없을 때가 아니면 사용 하지 않는 것이 좋습니다.


예를 들어 디렉토리 별로 서버 설정을 다르게 하고 싶은데 서버 시스템에 Root 권한이 없을 때 윈도우 체제라면 관리자? 권한이 없을 때 사용 할 수 있도록 서버에서 설정을 하여 컨텐츠 제공자가 디렉토리 별로 서버 설정을 할 수 있도록 하여 주는 것 입니다.


가급적이면 .htaccess 파일은 피하는 것이 좋습니다. 우리가 루트에 .htaccess 파일을 생성 했다고 하더라도 하위의 폴더들은 .htaccess 파일을 먼저 찾게 되고 결국은 폴더마다 .htaccess 파일을 읽고 간다고 생각 하시면 됩니다.


예를 들어 html이 루트이고 그 하위에 wp/wp-content/uploads/2009/01 에 있는 이미지를 읽어 온다고 본다면


html/.htaccess  와 같이 루트에만 있다고 하더라도


html/.htaccess/wp


html/.htaccess/wp/.htaccess


html/.htaccess/wp/.htaccess/wp-content


이하 생략..


위와 같이 루트에 .htaccess하나가 있더라도 파일을 접근 할 때 마다 설정 파일이 전혀 없어도 하위의 폴더들은 한번씩 .htaccess 파일을 거쳐 가는 것 입니다.


.htaccess을 사용해야 하는 경우엔 역시 사용을 해야겠죠? 저 같은 경우도 각각의 폴더에 .htaccess가 존재 합니다.


간단한 예로 저는 wordpress라는 블로그를 사용합니다. 블로깅을 하면 각각의 게시물에 퍼머링크라는 주소를 가지게 되는데 기본적으로 http://tops.codex.kr/?p=164 이렇게 주소가 설정이 됩니다. 그 퍼머링크를 게시물의 숫자만으로 연결을 하고 싶어서 Dashboard-Settings-Permalinks에서 숫자로 변경을 하면 게시물의 http://tops.codex.kr/archives/164 이와 같은 주소로 접속이 가능하게 됩니다.  만약 링크를 눌러보신 분은 아시겠지만 http://tops.codex.kr/archives/164 는 게시물로 가지 않고 워드프레스의 인덱스를 보여주는 걸 확인 하셨을 겁니다. 저는 기본 퍼머링크를 사용하기 때문 입니다.


결국 퍼머링크를 숫자로 사용하게 변경을 하면 이전 게시물들이 제대로 표현이 안 되는 것을 확인 할 수 있는데 게시물이 가지는 고유의 퍼머링크가 전자의 구조이기 때문에 후자의 숫자 방식으로 접속을 하면 게시물이 제대로 출력이 안 되는데 이때 .htaccess 파일을 만들어 워드프레스 설치 폴더에 넣어 제대로 표현이 되도록 할 수 있습니다. 물론 우리가 퍼머링크를 변경하면 워드프레스에서 .htaccess 파일을 생성 하지 못하는 권한이라면 확인 버턴 아래에 다음과 같은 문장을 보게 될 것입니다.


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>


-d: 디렉토리를 의미합니다. TestString이 이 렉토리를 가리키거나 포함하고 있을 때 처리됩니다.


-f: 파일을 의미합니다. TestString이 파일을 가리키거나 포함하고 있을 때 처리됩니다.


-l: 심볼릭 링크를 의미합니다. TestString이 심볼릭 링크를 가리키거나 포함하고 있을 때 처리됩니다.


느낌표(!)는 부정을 뜻합니다.


대충은 이해가 가실 겁니다. 즉 위와 같은 .htaccess 파일이 있다면 이전 퍼머링크를 숫자로 바꾸면 파일 또는 디렉토리를 워드프레스가 정한 규칙에 의해 이전 퍼머링크를 찾아주고 없다면 워드프레스가 정해진 룰을 따라 index.php파일로 가게 됩니다.  결국 위와 같은 .htaccess 파일을 설정하게 되면 ErrorDocument 404 http://tops.codex.kr/404.php 로 404 에러가 나면 지정한 파일로 가라는 지시어를 넣어도 무시가 되어 워드프레스에서 정한 규칙을 따라 워드프레스 첫 페이지로 가게 됩니다.


특정 디렉토리를 하위 디렉토리로 보내는 것 또한 가능 하지 않을까요?


저는 다른 방법으로 wp에 설치 된 워드프레스를 루트 주소로 옮겨서 사용하고 있습니다. 


만약 .htaccess 파일로 하위의 wp로 보낸다고 생각을 하면


RewriteEngine On
RewriteBase /
RewriteRule ^$ wp/ [L]
RewriteRule ^(tc|xe|cgi-bin|image) - [L]
RewriteRule ^(.*)$ wp/$1 [L]


위와 같이 / 로 접속을 하면 아래의 리라이트룰에 따라 wp로 가게 됩니다. 즉 저 .htaccess 파일이 있는 주소로 접속을 하면 그 하위에 wp/$1 로 가게 되는 겁니다. 특정 지시문이 없으니 index.html,index,php등을 찾아 갈 겁니다. 위와 같이 사용하게 되면 wp 폴더 외에는 접속 할 수 없는 것을 방지 하기 위해


RewriteRule ^(tc|xe|cgi-bin|image) - [L] 


(tc|xe|cgi-bin|image)  안에 있는 디렉토리가 있는 주소로 들어오게 되면 그쪽으로 가게되고 / 로 오면 wp로 보내지게 됩니다. 만약 위와 같은 문장이 없다면 / 디렉토리 안의 하위 디렉토리는 wp 외에는 무시를 당하게 됩니다.


저도 사실 정확한 지식이 있는게 아니라 설명을 제대로 해드릴 수는 없는 입장이고 저 역시 검색을 통행 얻은 지식이라 정확한 설명은 해드릴 입장이 못 된다는 것을 밝혀 둡니다.


.htaccess 파일을 이용하기 보다는 다른 방법을 선택하시라 권하고 싶습니다. .htaccess 파일을 생성 하셨음 다른 어떠한 작업을 하시면 꼭 백업 또는 확인을 하셔야 한다고 말씀 드리고 싶네요.


컨텐츠 관리자 쪽에서 볼 때 .htaccess 파일을 잘못 설정 함으로 인해 서버에 접속 하지 못하는 경우가 빈번 하기 때문 입니다.





출처 : http://tops.codex.kr/?p=361
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
11 불법웹(이미지) 링크 차단에 대한 설정법 JaeSoo 2011.09.22 7250
10 아파치 프로세스의 메모리 사용량 줄이기 JaeSoo 2011.06.01 9257
9 APMSETUP 7 + eAccelerator 설치.. JaeSoo 2011.05.21 9470
8 싸이트 외부링크 차단하는방법 JaeSoo 2011.02.19 7136
7 가상 호스트 설정법 JaeSoo 2010.04.28 6875
6 웹서버 속도 저하 문제 해결 (xp,Apache 2.2.X, XAMPP) JaeSoo 2010.04.05 5787
5 Tomcat 한글관련 JaeSoo 2009.07.20 4428
» .htaccess JaeSoo 2009.06.24 4279
3 ReWrite Module JaeSoo 2009.06.24 3882
2 계정하나에 두개의 도메인을 각각의 서브폴더에 연결시키는 방법 JaeSoo 2009.06.23 4788
1 Apache에서 .htaccess 파일 활용하기 - Rewrite mod JaeSoo 2009.05.12 3767
Board Pagination Prev 1 2 3 4 Next
/ 4

PageViews   Today : 119 Yesterday : 16624 Total : 21708294  /  Counter Status   Today : 100 Yesterday : 943 Total : 1138681

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소