2011-03-15 56 views
3

所以首先,我想要說我很新的編程所以請原諒我,如果我不盡快遵循前言。現在外部CSS文件未在瀏覽器中加載

,我有說是真正困擾我的最後幾天一個問題,我也到處去尋找一個解決方案。

我使用的是WAMP的服務器配置。在我開始使用CSS之前,一切工作都很好。我有一個外部CSS文件。

當我在Dreamweaver中查看我的HTML頁面,我看到它是正確連接到CSS文件。我可以在設計視圖中看到應用的樣式。但是,當我在瀏覽器中查看頁面時,Firefox說(在錯誤控制檯中)無法加載.css文件,因爲它的MIME類型是text/html而不是text/css。

所以我想這是一個服務器的配置問題。我做的是以下內容: 我進入.HTACCESS文件並添加了以下行: AddType文本/ css .css

重新啓動我的服務器後,仍然沒有解決問題。出於某種原因,瀏覽器不斷閱讀我的CSS文件作爲html文件。任何想法可能在這裏出錯?

這裏的文件我想在瀏覽器中加載(它實際上是一個Smarty的模板)的頭:

<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> 

而且,請注意,我用的是Zend框架編碼。 這裏是我的.htaccess文件:

RewriteEngine敘述上

的RewriteCond%{} SCRIPT_FILENAME -f

的RewriteCond%{} SCRIPT_FILENAME -d

重寫規則^ $指數!(*)。 .PHP/$ 1

將AddType文本/ CSS的CSS

所以我把DA的意見,並點擊查看頁面源代碼視圖時瀏覽器中的頁面,並點擊鏈接到我的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 2011-03-15 04:17:52

+1

你能顯示代碼嗎? – sandeep 2011-03-15 04:18:15

+1

嘿,Shaan,我們需要看到頭部的HTML,找出發生了什麼。一旦你發佈了這些內容,我們就會對發生的事情有更多的瞭解。 – Dan 2011-03-15 04:18:44

回答

0

您可以使用CSS可能通過使用<link rel=stylesheet href="cssName.html"> 這可能是類似於Mozilla Bug。請分享您的代碼,以便我們提供更好的建議。

0

這裏的問題可以是兩方面的。 CSS文件丟失,系統正在提供一個404頁面(如果你已經配置了它),所以瀏覽器抱怨它不是一個CSS文件。

或者問題可能是你有一臺服務器的配置問題。如果這是WAMP的新安裝,這是不太可能的。

您是否嘗試過直接訪問該文件?

  • 查看Firefox中的源(或任何瀏覽器)
  • 點擊您所做的CSS鏈接。如果你不能點擊它,你可能需要複製粘貼到一個新的窗口。
  • 它會帶你到CSS文件或其他文件嗎?

如果它將您帶到另一個文件,這意味着您沒有正確鏈接它。使用絕對路徑(來自您的webroot)而不是相對路徑可能會更好。

編輯:Zend框架

使用樣式表假設你的CSS文件在ZF /公/ CSS,你將它們包含在你的佈局或查看這樣

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

指定的區域爲它打印出來(在佈局)

echo $this->headLink() 

但是,如果它是一個站點範圍css文件,你要包括你的CSS僅在佈局,然後簡單地呼應出來就足夠了

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

該文件鏈接正確。我已經將它加載到Firefox中。加載時,我以純文本的形式看到CSS文檔。如果我從瀏覽器中選擇查看頁面信息,它會顯示類型:text/css。 – Shaan 2011-03-15 06:03:26

+0

將你的.htaccess文件粘貼到你的問題中。另外,你是否使用任何PHP框架或虛擬主機? – JohnP 2011-03-15 06:07:59

+0

當然,我會更新這個問題。另外我使用Zend框架。我只是將本地主機設置爲我的虛擬主機。 – Shaan 2011-03-15 06:22:06

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

htdocs目錄通常是根目錄。因此,雖然這是您本地文件系統上的完美路徑,但一旦您通過網絡服務器訪問它,../將被忽略,因爲您已經位於本地部分的頂部。然後沒有htdocs,所以其餘的路徑應該是404.

由於某種原因,Zend發出了「無效控制器指定(錯誤)」(意思是「我找不到我所要求的「200 OK的狀態代碼,所以瀏覽器是在說‘這是一個HTML文檔’,而不是‘什麼都沒有找到有’。

從URL中移除../htdocs/一部分。

+0

如果我從URL中刪除htdocs/part,它將無法再在Dreamweaver中找到css文件。 – Shaan 2011-03-15 07:30:46

+0

對不起,我的意思是'../'。答案已更新。 – Quentin 2011-03-15 07:31:48

+0

Shaan你真的不應該依賴於查看在Dreamweaver中呈現的CSS。它從來沒有好過,總是有錯誤。使用DW作爲一個很好的文本編輯器,但使用您的網頁瀏覽器來查看該網站的實際工作情況。 – 2011-03-15 13:21:35

0

感謝大家的幫助!你們很多人是對的,它最終不得不與HREF路徑的事情。所以,我能修正這個錯誤,但是似乎解決方案是簡單和愚蠢的問題!

在Dreamweaver中,我沒有定義Site Root文件夾!這是一個問題,因爲我使用的是相對路徑,但最終沒有找到它,因爲網站根目前沒有定義!

所以我設置站點根目錄,在Dreamweaver中我的根目錄(其中的.htaccess所在地),並改變了路徑,簡單的「/css/styles.css」。

現在它的工作原理!

對不起,麻煩大家,謝謝大家的幫忙!

+0

投票答案,幫助你,請。真高興你做到了。 – 2011-03-15 13:22:15