2011-03-15 52 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