2009-09-16 3 views
0

다시 쓰기 규칙 및 중첩 된 URL에 도움이 필요합니다.Apache2의 중첩 된 URL 및 다시 쓰기 규칙

내 웹 사이트에 TikiWiki를 사용하고 있으며 프로젝트에 대한 친숙한 URL을 설정하는 중입니다. 특히, www.example.com/projects에 대해 예 :에 호스팅 된 모든 프로젝트를 나열하는 페이지를 가리키는 다음 재 작성 규칙이 있습니다.

RewriteRule ^Projects$ articles?type=Project [L] 

이 작동합니다.

이제 www.example.com/projects/project1이 특정 프로젝트를 가리 키도록 지정하고 싶습니다. 나는이 재 작성 규칙

RewriteRule ^(Projects/Project1)$  tiki-read_article.php?articleId=6 

이 작동하지만, 부분적에게 있습니다. 콘텐츠는 모두 텍스트로 렌더링되지만 테마 (이미지/CSS 등은 모두 토스 (toss)로 표시됨)가 페이지 전체가 텍스트로 렌더링됩니다.

이 문제가 발생하면 theme/css/images의 상대 경로는 모두 Projects를 웹 사이트의 루트가 아닌 기본 폴더로 참조하기 때문에 발생합니다.

나는 CMS 부분에 손을 대고 싶지 않습니다. 파일의 테마/CSS/이미지 경로를 변경하십시오.

누군가 위의 중첩 된 URL이 작동하도록 규칙을 이해하고 작성하도록 도와 줄 수 있습니까?

안부, 라다

답변

0

당신은 CMS를 변경하거나 테마/CSS/이미지 파일에 대한 규칙을 다시 작성 중 하나가 필요합니다. 예를 들어 이미지가 사이트 내 /images/ 디렉토리에있는 경우,

RewriteRule ^Projects/(themes/.*)$ \1 

혹은 더 나은

Alias /Projects/themes /themes 

을 시도하지만 저라면 여전히, 나는 CMS 구성을 편집 할 것입니다.

0

상대 URL은 현재 문서의 URL 인 기본 URL의 기본 URL로 절대 URL로 확인됩니다. 따라서 파일이 실제 위치에 있지만 기본 URL은 /projects/project1이고 /projects이 아닐 수 있습니다. 클라이언트는 URL 만 사용하고 실제 파일 시스템에 대한 단서가 없기 때문입니다. 현재 문서의 URL은 /projects/project1입니다.

따라서 상대 URL 대신 절대 URL 경로 (/projects/css/…)로 URL 참조를 사용하십시오.