2012-10-30 3 views
0

htaccess 파일을 설정해야 사용자가 www.example.com/post/54를 입력 할 때 www.example.com/post.php?id=54로 렌더링됩니다.htaccess 다시 쓰기 후에 CSS 및 이미지가 표시되지 않음

I 설정과 같은 규칙은 : 내 로컬 호스트에서 테스트 할 때

RewriteRule ^post/(.*)$ post.php?id=$1 [L] 

페이지는 HTML로 표시하고 이미지 나 CSS 파일을 캡처하지 않습니다. 내 디렉토리는 C :/MyWebsites/example으로 설정되어 있으며 파일은 디렉토리가 아니라 C :/MyWebsite 폴더에로드됩니다. 이 원인이 될 것입니다 무엇 ... 당신의 CSS와 이미지 경로에

답변

1

브라우저는 URI 기반이 요청의 URI를 사용하고 결정하려고합니다. 따라서 브라우저에서 http://www.example.com/post/54을 요청하면 URI는 /post/54이고 BASE는 /post/입니다. 이 기본 자료를 사용하면 모든 상대 링크가 링크의 앞에 추가되며 이로 인해 CSS와 같은 상대 링크가 잘못된 기반을 갖게됩니다.

당신은 절대 링크를 모든 링크를 변경하거나 post.php 페이지의 헤더에

<base href="/"> 

을 추가하거나해야합니다.

0

앞에 추가 /example/ ..

+0

예제는 웹 사이트의 이름이며 추가 경로는 아닙니다. 그래서 htaccess를 구현하기로 결정할 때까지 이미지와 CSS가 잘 작동했습니다. – vinsanity38

+0

'/'는 웹 루트입니다 .. css 및 이미지 파일까지 완전한 경로를 추가해야합니다. 예를 들어' ' –

+0

페이지를 http : //localhost/post.php? id = 54로 설정하면 모든 이미지와 CSS가 나타납니다. 그러나 페이지를 http : // localhost/post/54로 호출하면 스타일 시트도 이미지도없고 HTML 만 있습니다. 나는 HTACCESS가 단지 URL을 다시 쓰고 나는이 시점까지 수백 개의 사진 링크를 되돌릴 필요가 없다는 인상을 받았다. – vinsanity38