2014-07-18 2 views
0

Drupal부터 시작해서 문제에 대한 몇 가지 주제를 읽었지만 해결책을 찾지 못했습니다. 내 문제는 다음과 같습니다.DRUPAL 7 - URL 및 상대 경로 정리 : 작동하지 않습니다.

내 웹 사이트 (현재 로컬 호스트에 있음)에서 URL을 깨끗하게 정리합니다. 문제는이 모듈을 활성화 할 때 파일의 상대 경로를 사용할 때 그림이나 링크가 작동하지 않는 것입니다.

예를 들면 다음과 같습니다. src = "./ sites/default/files/styles/large/public/add_tool_version.png". 내 사진은 보이지 않습니다 ..이 모듈이 왜 작동하지 않는지 모르겠습니다. 상대 경로.

하지만 모듈을 비활성화하면 링크가 정상적으로 작동합니다. 제발, 도와 주실 수 있습니까? 그것을 고칠 수있는 해결책이 있습니까?

미리 답변 해 주셔서 감사합니다.

+0

경로로 테스트합니다. ../ sites/default/files/styles/large/public/add_tool_version.png! 작동합니다. 하지만 지금은 링크를 편집하는 미리보기가 없습니다. 왜 그런지 알아? 미리 감사드립니다 – InsRg

답변

0

절대 경로를 사용해보십시오. 이미지가있는 경우에는 다음과 같을 것입니다 : src="/sites/default/files/styles/large/public/add_tool_version.png", 도트 없음.

이 절대 경로는 항상 상대 경로 대신 해당 이미지를 참조합니다 - 현재 디렉토리 또는 페이지에 따라 다릅니다.

+0

점이 없으면 작동하지 않습니다. 하지만 2 점으로 작동합니다. 왜 그런지 알고 있습니까? – InsRg

+0

당신의 대답을 주셔서 감사합니다 – InsRg

+0

내가 제안한대로 경로를 사용할 때 어떻게 이미지 전체 URL이 보이는지 말해 줄 수 있습니까? – jedi

0

깨끗한 URL의 문제는 브라우저가 URL을 읽고 파일 디렉토리의 방향으로 해석하는 방법입니다. http://www.example.com/?q=node/11 또는 깨끗한 URL을 사용하여 http://www.example.com/node/11에 있습니다.

깨끗한 URL을 enabeling하고 일부 노드에 소스 링크를 추가하면 브라우저는 URL에 지정된 폴더에서 파일을 검색합니다. 따라서 소스를 sites/default/files/styles/large/public/add_tool_version.png으로 선언하고 URL이 http://www.example.com/node/11 인 경우 브라우저는 node/11/sites/default/files/styles/large/public/ 디렉토리의 파일을 찾습니다. 보통 이것은 작동하지만, 드루팔 (drupal)에서는 실제로 그런 폴더가 없습니다. 모든 drupal 페이지는 기본 디렉토리에있는 index.php의 버전입니다. 드루팔 (drupal)에서 url은 파일 구조와 관련이 없습니다. 불행히도 평균 브라우저는이를 알지 못합니다. 깨끗한 URL을하지 않고

그러나, 브라우저가 기본 경로 (www.example.com)와 쿼리 (?q=node/11)의 조합으로 URL을 인식합니다. 따라서 기본 경로에 지정된 디렉토리에서부터 파일을 찾습니다.

클린 URL을 사용하여 상대 경로를 계속 사용하려면 실제 소스 앞에 base_path() 함수를 사용할 수 있습니다.

+0

주의 : 드루팔 (drupal) 사이트에서 링크를 찾을 때 브라우저가 인식하지 못하는 경로로 이어질 때 혼란스러워하는 경우가 있습니다. 이것은 drupal이 내부적으로 url을 처리하는 방법과는 아무런 관련이 없습니다. drupal은 모든 URL을 읽고 기본 경로와 쿼리의 조합으로 올바르게 처리하고 적절한 내용을 표시합니다.콘텐츠 자체에 링크가 포함되어있을 때만 문제가 발생할 수 있습니다. 링크를 포함하여 페이지의 HTML을 올바르게 전달한 후 drupal은 페이지에서 손을 떼어 브라우저가 링크 소스의 실제 조회를 수행하도록합니다. –