Hi
I am facing a problem with paths and don't know how to solve it.
Everything works fine except that the css file it is not loaded and the
output it is plain text without images and columns.
My developing box is a Windows Vista 32 with a typical wamp stack:
Apache 2.2.11, PHP 5.2.9, ZF 1.7.7
Apache httpd.conf
NameVirtualHost *
<VirtualHost *>
ServerName myapp
DocumentRoot "c:/wwwroot/www-php/myapp/public/"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
</VirtualHost>
<VirtualHost *>
ServerName localhost
DocumentRoot "c:/wwwroot/www-php"
</VirtualHost>
Windows hosts file
127.0.0.1 myapp
127.0.0.1 localhost
Bootstrap.php
define('APPLICATION_PATH', realpath(dirname(__FILE__) .
'/../application/'));
$frontController = Zend_Controller_Front::getInstance();
$frontController->setControllerDirectory('../application/controllers');
$frontController->setParam('env', 'development');
$view = new Zend_View();
$view->addHelperPath('../application/views/helpers');
$view->doctype('XHTML1_STRICT');
$view->headTitle()->setSeparator(' - ')->append('ZF Test');
$view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;
charset=utf-8');
$view->headLink()->appendStylesheet('/css/style.css');
//$view->headLink()->appendStylesheet('css/style.css');
$viewRenderer =
Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$viewRenderer->setView($view);
Zend_Layout::startMvc(array('layoutPath' => APPLICATION_PATH .
'/layouts/scripts'));
layout.phtml
<?php echo $this->doctype(); ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
echo $this->headTitle();
echo $this->headLink();
echo $this->headStyle();
?>
</head>
<body class="twoColElsLtHdr">
<div id="container">
<div id="header">
Header <img src="/images/logo.jpg" />
</div><!-- end #header -->
<div id="sidebar1">
<h3>sidebar1 Content</h3>
<p>The background color on this div will only show for the
length of the content. If you'd like a dividing
line instead, place a border on the left side of the
#mainContent div if the #mainContent div will always contain
more content than the #sidebar1 div. </p>
<p>Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu,
pellentesque eget, cursus et, fermentum ut, sapien. </p>
</div><!-- end #sidebar1 -->
<div id="mainContent">
<?php echo $this->layout()->content ?>
</div><!-- end #mainContent -->
<!-- This clearing element should immediately follow the
#mainContent div in order to force the #container div to contain all child
floats --><br class="clearfloat" />
<div id="footer">
<p>Footer</p>
</div><!-- end #footer -->
</div><!-- end #container -->
</body>
</html>
Generated html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ZF Test</title>
<link href="/css/style.css" media="screen" rel="stylesheet" type="text/css"
/></head>
<body class="twoColElsLtHdr">
<div id="container">
<div id="header">
Header <img src="/images/logo.jpg" />
</div><!-- end #header -->
<div id="sidebar1">
<h3>sidebar1 Content</h3>
<p>The background color on this div will only show for the
length of the content. If you'd like a dividing line instead,
place a border on the left side of the #mainContent div if the
#mainContent div will always contain more content than the #sidebar1 div.
</p>
<p>Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu,
pellentesque eget, cursus et, fermentum ut, sapien. </p>
</div><!-- end #sidebar1 -->
<div id="mainContent">
Hello from the index view script.<br /><br />
</div><!-- end #mainContent -->
<!-- This clearing element should immediately follow the
#mainContent div in order to force the #container div to contain all child
floats --><br class="clearfloat" />
<div id="footer">
<p>Footer</p>
</div><!-- end #footer -->
</div><!-- end #container -->
</body>
</html>
Some info from print_r($_SERVER) in index.php
[SCRIPT_URL] => /
[SCRIPT_URI] => http://myapp/
[HTTP_HOST] => myapp
[SERVER_NAME] => myapp
[SERVER_ADDR] => 127.0.0.1
[SERVER_PORT] => 80
[DOCUMENT_ROOT] => C:/wwwroot/www-php/myapp/public/
[SERVER_ADMIN] => @@ServerAdmin@@[SCRIPT_FILENAME] =>
C:/wwwroot/www-php/myapp/public/index.php
[REQUEST_URI] => /
[SCRIPT_NAME] => /index.php
[PHP_SELF] => /index.php
echo APPLICATION_PATH; => C:\wwwroot\www-php\myapp\application
Sorry for this long message but I really need some help to figure out what I
am doing wrong.
Thanks in advance.
Cheers,
holo