2011-03-15 2 views
3

우선, 프로그래밍에 익숙하지 않다는 말로 머리말을 붙이고 빨리 따르지 않으면 용서하겠습니다.외부 CSS 파일이 브라우저에로드되어 있지 않습니다.

이제 며칠 동안 나를 괴롭 히고있는 해결책을 찾았습니다.

WAMP 서버 구성을 사용하고 있습니다. CSS 작업을 시작할 때까지 모든 것이 잘 작동합니다. 외부 CSS 파일이 있습니다.

Dreamweaver에서 내 HTML 페이지를 볼 때 해당 CSS 파일에 올바르게 연결되어있는 것을 볼 수 있습니다. 스타일이 디자인보기에 적용된 것을 볼 수 있습니다. 그러나 브라우저에서 페이지를 볼 때 Firefox는 (오류 콘솔에서) MIME 유형이 text/html이고 text/css가 아니기 때문에 .css 파일을로드 할 수 없다고 말합니다.

그래서 저는 이것이 서버 구성 문제라고 생각했습니다. 내가 한 것은 다음이었다 내가 htaccess로 파일에 가서 다음 줄을 추가 : 내 서버를 다시 시작한 후 으로 AddType 텍스트/CSS를 .CSS

을,이 여전히 문제가 해결되지 않았다. 어떤 이유로 브라우저는 HTML 파일로 내 css 파일을 계속 읽습니다. 어떤 생각이 잘못 될 수 있습니까?

또한
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link rel="stylesheet" href="../htdocs/css/styles.css" type="text/css" media="all" /> 
</head> 

, 나는 젠드 프레임 워크를 사용하여 코딩하고 있음을 유의하시기 바랍니다 :

는 여기에 내가 (그것이 실제로 스마티 템플릿의) 브라우저에로드 할 노력하고있어 파일의 머리입니다. ! (. *)

한다 RewriteEngine

한다 RewriteCond % {SCRIPT_FILENAME} -f

한다 RewriteCond % {SCRIPT_FILENAME} -d

한다 RewriteRule^$ 지수

에 : 여기 내 htaccess로 파일입니다 .PHP/$ (1)

으로 AddType 텍스트/CSS를 .CSS

그래서 나는 DA의 충고를 따랐다 때보기 페이지 소스보기를 클릭 브라우저에서 페이지를 보내고 내 CSS 파일에 대한 링크를 클릭하십시오. 이것은 나에게 보여줍니다 것입니다 : 당신은 <link rel=stylesheet href="cssName.html"> 를 사용하여 아마 CSS를 사용하고있을 수 있습니다

<br /> 
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'> 
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in C:\shaancode\www\phpweb20\htdocs\Zend\Controller\Dispatcher\Standard.php on line <i>248</i></th></tr> 
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Zend_Controller_Dispatcher_Exception: Invalid controller specified (error) in C:\shaancode\www\phpweb20\htdocs\Zend\Controller\Dispatcher\Standard.php on line <i>248</i></th></tr> 
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> 
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> 

<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0006</td><td bgcolor='#eeeeec' align='right'>382488</td><td bgcolor='#eeeeec'>{main}()</td><td title='C:\shaancode\www\phpweb20\htdocs\index.php' bgcolor='#eeeeec'>..\index.php<b>:</b>0</td></tr> 
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0892</td><td bgcolor='#eeeeec' align='right'>4748936</td><td bgcolor='#eeeeec'>Zend_Controller_Front->dispatch()</td><td title='C:\shaancode\www\phpweb20\htdocs\index.php' bgcolor='#eeeeec'>..\index.php<b>:</b>42</td></tr> 
</table></font> 
+1

당신의 CSS 파일의 파일 이름은 무엇이며 브라우저를 볼 때 스타일 시트 태그를 어떻게 연결합니까? – corroded

+1

코드를 표시 할 수 있습니까? – sandeep

+1

안녕하세요 Shaan, 우리는 무슨 일이 일어나는지 알아 내기 위해 머리의 HTML을 볼 필요가 있습니다. 일단 당신이 그 내용을 게시하면, 우리는 무슨 일이 일어나고 있는지 더 많은 것을 알게 될 것입니다. – Dan

답변

0

이는 Mozilla Bug 유사 할 수 있습니다 :

내가 링크를 클릭

, 나는이 참조하십시오. 더 나은 제안을 제공 할 수 있도록 코드를 공유하십시오.

0

여기의 문제는 2 배가 될 수 있습니다. CSS 파일이 누락되어 있고 시스템이 404 페이지를 제공하고 (구성한 경우) 브라우저가 CSS 파일이 아니라고 불평합니다.

또는 문제는 서버 구성 문제 일 수 있습니다. WAMP의 새로운 설치라면 이것은 거의 불가능합니다.

파일에 직접 액세스 해 보셨습니까?

  • 보기 파이어 폭스의 소스 (또는 브라우저) 당신이 만들어 놓은 CSS 링크를
  • 을 클릭합니다. 클릭 할 수없는 경우 새 창에 붙여 넣기를 복사해야 할 수 있습니다.
  • CSS 파일이나 다른 파일로 이동합니까?

다른 파일로 이동하면 제대로 연결되지 않은 것입니다. 상대 경로보다는 절대 경로 (웹 루트에서)를 사용하는 것이 더 나을 수도 있습니다.

편집 : 당신의 CSS 파일을 가정 젠드 프레임 워크

에서 사용 스타일 시트는 ZF/공공/CSS에서, 당신은 당신의 레이아웃에 포함 할 또는 지역을 지정이

$this->headLink()->appendStylesheet('/css/styleForThisPage.css'); // in your view 

처럼보기 이 사이트 전체의 경우는,

echo $this->headLink() 

그러나 (레이아웃에서) 인쇄 할하려면 CSS 파일 당신은 레이아웃에 CSS를 포함하려면, 다음 단순히 htdocs에 디렉토리는 일반적으로 웹 루트입니다

echo $this->headLink()->appendStylesheet('/css/global.css'); 
+0

파일이 올바르게 연결되었습니다. Firefox에로드했습니다. 로드되면 CSS 문서가 일반 텍스트로 표시됩니다. 내 브라우저에서 페이지 정보보기를 선택하면 텍스트/css라고 표시됩니다. – Shaan

+0

.htaccess 파일을 질문에 붙여 넣으십시오. 또한 PHP 프레임 워크 나 가상 호스트를 사용하고 있습니까? – JohnP

+0

물론, 나는 질문을 업데이 트됩니다. 또한 Zend 프레임 워크를 사용하고 있습니다. 내 가상 호스트로 localhost를 설정하기 만하면됩니다. – Shaan

1
href="../htdocs/css/styles.css" 

충분 그것을 밖으로 울리는. 따라서 이것은 로컬 파일 시스템의 완벽한 경로이지만 웹 서버를 통해 액세스하면 로컬 부분의 맨 위에 있으므로 ../이 무시됩니다. 그러면 htdocs이 없으므로 경로의 나머지 부분이 404.

어떤 이유에서든 Zend가 "잘못된 컨트롤러 지정 (오류)"("내가 요청한 것을 찾을 수 없습니다. "브라우저가 말하는 있도록 200 OK 상태 코드로,"이것은 아무것도는 "이 발견되지 않았다"대신 "HTML 문서입니다.

이 URL에서 ../htdocs/ 부분을 제거합니다. 도움말 모두

+0

URL에서 htdocs/part를 제거하면 Dreamweaver에서 CSS 파일을 더 이상 찾을 수 없습니다. – Shaan

+0

죄송합니다. 나는 .. ../도 의미했습니다. 답변이 업데이트되었습니다. – Quentin

+0

Shaan은 Dreamweaver에서 렌더링 된 CSS보기에 의존해서는 안됩니다. 결코 좋았던 적이 없으며, 항상 버그가 있습니다. 좋은 텍스트 편집기로 DW를 사용하지만 웹 브라우저를 사용하여 사이트가 실제로 어떻게 작동하는지 확인하십시오. –

0

감사합니다 ! 많은 분들이 옳았습니다. 궁극적으로 href 경로와 관련이 있습니다. 따라서 오류를 해결할 수 있었지만 해결책은 간단하고 문제는 바보 같습니다!

Dreamweaver에서 사이트 루트 폴더를 정의하지 않았습니다. 상대 경로를 사용 중이므로 문제가 발생했지만 사이트 루트가 정의되지 않았기 때문에 궁극적으로 올바르게 찾을 수 없습니다.

그래서 Dreamweaver의 사이트 루트를 내 루트 디렉토리 (.HTACCESS가있는 위치)로 설정하고 경로를 단순히 "/css/styles.css"로 변경했습니다.

이제 작동합니다!

불편을 끼쳐 드려 죄송합니다.

+0

당신을 도운 대답을 투표하십시오. 다행 이군. –

관련 문제