아파치 웹서버 mod_rewrite 파일경로 제한하는 법 질문

조회수 2150회

virtualBox로 Ubuntu 16.04 LTS, Apache2 사용중입니다. rewrite모듈을 사용해서 파일에 "서버도메인/파일경로"로 접근하던 것에서 "서버도메인/rewriteRule"로 접근하도록 바꾸었습니다. 문제는 "서버도메인/rewriteRule"의 경우만 파일에 접근시키고 "서버도메인/파일경로"는 Not Found를 띄우고 싶은데 양쪽 다 파일에 접근이 되는 것입니다.

Apache 설정으로 해결하는 방법이 있나요?

  • Apache 설정이 아닌 다른 방법 실제로 해보지는 않았지만, DocumentRoot에 index.php를 만들고 .htaccess에서 모든 URI를 index.php로 향하도록 만든 다음에 index.php에서 주소를 받아온 후 DocumentRoot 상위 디렉토리에 있는 파일을 표시하는 방법을 생각해봤습니다. 구현이 될까요?
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 자신의 사이트에 있는 이미지만 외부에서 직접 참조해서 사용하는걸 막기 위해 아래와 같은 방식을 사용한다고 하네요.

    RewriteEngine on 
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC] 
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC] 
    RewriteRule \.(gif|jpg)$ - [F]
    

    이걸 응용해서 gif나 jpg대신에 php를 넣으면 될 수도 있을것 같아서 공유합니다. 출처

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)