본문 바로가기

카테고리 없음

Forbidden You don't have permission to / on this server. 문제고찰

by 디런치 2020. 4. 29.

가끔 워드프레스를 운영하다보면 경로에 접근하지 못해서 어려움을 겪는 경우가 있다. 대부분은 퍼미션문제로 FTP에서 간단히 퍼미션을 수정하는 것으로 해결이 가능하지만, 이것으로 해결이 되지 않으면 대부분 .htaccess 에서 해결할 수 있다.

 

필자가 경험한 한 사례를 설명해 보겠다.

 

필자는 특정플러그인을 통해서 사이트를 다국어로 운영하고 있었다. 하지만, 이 플러그인이 다국어를 제공한다는 것 빼놓고는 정말 함께 하기 힘든 플러그인이었다. 이유는 다음에 설명하겠다. 여하튼 그래서 생각한 방법이 두개의 독립적인 사이트 즉, 한글사이트, 영문사이트로 분리하는 것이었다.

 

그래서 한글사이트의 데이터베이스를 복사해서 다른 도메인의 영문사이트를 만들어 복사하고, 한글사이트에 있는 영문 데이터베이스를 삭제, 복구한 영문사이트의 데이터베이스에서 한글 데이터베이스를 삭제하려고 하였다. 모든게 잘 되었다. 단 한가지만 빼고 말이다. 그것은 첨부파일의 경로 문제였다. 

 

새로운 도메인으로 영문사이트가 만들어졌으니 도메인 경로를 db에서 모두 수정해주어야 하는데, 다른 건 다 잘되었으나, 첨부파일의 경로에 관한 db 문자열을 수정하면 해당 글의 에디터로 볼 때 첨부파일 경로가 사라지고, db 내용을 기존것으로 돌려놓으면 다시 보이는 이상한 현상이 일어났다. 여러생각을 했지만, db캐시 때문에 구문이 변경되면 누락시켜버리는 것으로 예상만 하고 있다.

 

그래서 어짜피 첨부파일은 원래 한글사이트에도 저장되어 있으니, 경로를 수정하지 않고, 경로 그대로 주소로 연결하면 되지 않을까?? 라는 생각을 하였다. 그런데, 이미 구분된 두개의 사이트이기 때문에 한쪽의 사이트에서 다른 쪽 사이트에 저장된 첨부파일을 접근할 때 접근할 권이 없다는 구문 즉, Forbidden You don't have permission to / on this server. 이 메시지가 떴다. 

 

 

그런데 이상한점으로 동일한 폴더에 있는 jpg 그림은 타 사이트에서 링크로 불러 올 수 있는데, zip 첨부파일은 되지 않는 것이었다.

 

그래서 이 첨부파일이 저장되어 있는 곳의 .htaccess 를 보니 

 

Options -Indexes
deny from all
<FilesMatch '\.(jpg|jpeg|png|gif|mp3|ogg)$'>
Order Allow,Deny
Allow from all

 

이렇게 되어 있었고, 이 구문에서

 

Options -Indexes
deny from all
<FilesMatch '\.(jpg|jpeg|png|gif|mp3|ogg|zip)$'>
Order Allow,Deny
Allow from all

 

끝에 "zip"를 추가해주니 문제없이 타 사이트에서 해당 파일을 다운받을 수 있었서 따로 db 경로를 변경하거나 수정하지 않더라도 다운로드가 될 수 있었다.

 

위의 파일은 무조건 접근허가라라는 구문처럼 보이긴 한다.

 

.....추가

 

 

.htaccess 파일이 계속 원래 버전으로 복구되는 상황이 되었다.

새로운 글을 작성하고 저장하면 다시 "|zip"부분이 삭제 되었다.

그래서 FTP로 들어가 .htaccess의 권한에 "쓰기"부분을 모두 해제했더니 더이상 수정은 되지 않았다.

 

.htaccess 파일이 변경이 불가능하게 세팅한 것인데, 아직까지는 별다른 문제가 없었으나,

혹시 문제가 생긴다면 다시 밑에 글을 남길 것이다.

반응형


댓글