首先,我想先写一下我对编程很新,所以请原谅我,如果我不能快速跟进。
现在,我遇到了一个问题,这个问题在过去的几天里一直困扰着我,我到处寻找解决方案。
我正在使用WAMP服务器配置。在我开始使用CSS之前,一切都运行良好。我有一个外部CSS文件。
当我在Dreamweaver中查看我的HTML页面时,我发现它正确连接到该CSS文件。我可以看到在“设计”视图中应用的样式。但是,当我在浏览器中查看页面时,Firefox说(在错误控制台中)无法加载.css文件,因为它的MIME类型是text / html而不是text / css。
所以我认为这是一个服务器配置问题。我做的是以下内容: 我进入.HTACCESS文件并添加了以下行: AddType text / 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
RewriteRule ^(。*)$ index.php / $ 1
AddType text / css .css
所以当我在浏览器中查看页面并点击指向我的CSS文件的链接时,我接受了DA的建议并点击了View Page Source。这就是它告诉我的:
当我点击链接时,我看到了:
<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>
答案 0 :(得分:1)
href="../htdocs/css/styles.css"
htdocs目录通常是webroot。因此,虽然这是本地文件系统上非常好的路径,但是一旦通过Web服务器访问它,../
就会被忽略,因为您已经位于本地部分的顶部。然后没有htdocs
所以路径的其余部分应该是404。
由于某种原因,Zend发出了“无效的控制器指定(错误)”(意思是“我找不到我要求的东西”,200状态代码,所以浏览器说“这个”是一个HTML文档“而不是”没有找到任何东西“。
从网址中删除../htdocs/
部分。
答案 1 :(得分:0)
您可能正在使用CSS <link rel=stylesheet href="cssName.html">
这可能类似于Mozilla Bug。请分享您的代码,以便我们提供更好的建议。
答案 2 :(得分:0)
这里的问题可能有两个问题。要么缺少CSS文件,而且系统正在提供404页面(如果你已经配置了它),那么浏览器就会抱怨它不是CSS文件。
或者问题可能是您遇到了服务器配置问题。如果是WAMP的新安装,这是不太可能的。
您是否尝试过直接访问该文件?
如果它转到另一个文件,表示您没有正确链接它。使用绝对路径(来自您的webroot)而不是相对路径可能会更好。
编辑:在Zend Framework中使用样式表
假设您的CSS文件位于ZF / public / css中,您可以将它们包含在您的布局或视图中
$this->headLink()->appendStylesheet('/css/styleForThisPage.css'); // in your view
指定要打印的区域(在布局中)
echo $this->headLink()
但是,如果它是一个全站点css文件,并且您只想在布局中包含CSS,那么只需回显它就足够了
echo $this->headLink()->appendStylesheet('/css/global.css');
答案 3 :(得分:0)
感谢大家的帮助!很多人都是对的,它最终与href路径有关。所以,我能够修复错误,但似乎解决方案很简单,问题很愚蠢!
在Dreamweaver中,我没有定义Site Root文件夹!这导致了一个问题,因为我使用的是相对路径,但最终没有正确找到它,因为没有定义站点根目录!
因此,我将Dreamweaver中的站点根目录设置为我的根目录(.HTACCESS所在的位置),并将路径更改为“/css/styles.css”。
现在它有效!
很抱歉给大家带来麻烦,谢谢大家的帮助!