2014-03-19 5 views
0

내 사이트가404 code.js (찾을 수 없음)

http://www.example.com 내가

<script type="text/javascript" src="code.js"></script> 

분명히 파일을 논제은 .js 파일을 사용하는 index.php 파일이라고 할 수 있습니다 (인덱스를 ../private_js .PHP와 code.js는) 내으로 public_html 디렉토리에 내가 생각했던 것

내가 public_html이 위의 폴더를 만든라는 private_js

되는 위의 자바 스크립트 코드를 숨기고

<script type="text/javascript" src="../private_js/code.js"></script> 

을하지만 브라우저 콘솔은 오류 보여줍니다 : public_html을은 다음과 같이 작동합니다 나는 이것이 내가 서버에 Node.js를 함께 전에 이런 짓을하지만 AVE (작동시킬 수있는 방법

GET http://example.com/private_js/code.js 404 (Not Found) 

을 클라이언트). 분명 아니지만, 만약 그들이 아마 public_html는 웹 서버 (아파치, 노드?) 역할을하는 자원을 찾고 간다 곳에서 루트 디렉토리는 것을 의미

+0

상대 경로 대신 파일에 * 절대 * 경로를 사용하도록 'src'를 변경하십시오. –

답변

0

obviously theses files (index.php and code.js) are in my public_html directory

. 즉, http://www.example.com/index.php을 요청하면 파일 시스템에서 …/public_html/index.php 파일을 제공합니다.

directory traversal attacks을 방지하기 위해 해당 디렉토리 외부의 자원을 절대로 서비스하지 않습니다.

이제 private_jspublic_html 외부에 만들었 으면 인터넷에서 액세스 할 수 없으며 로컬 파일 시스템에서만 액세스 할 수 있습니다. http://www.example.com/index.php의 상대 경로 ../private_js/code.js은 클라이언트 측에서 수행되는 http://www.example.com/private_js/code.js으로 해결된다는 점에 유의하십시오. 이는 브라우저가 요청하는 URL입니다. 서버가 파일을 가져 오면, 분명히 존재하지 않는 파일이 …/public_html/private_js/code.js에서 검색됩니다.

해결책 : private_js의 파일을 제공하도록 서버를 구성하거나 폴더로 이동하십시오.

관련 문제