Hi, I'm a Dreamhost hosting user and I am having routing problems too. I've hacked Zend_Controller_Request_Http public function setRequestUri to resolve my issue and have posted a question about it here http://www.nabble.com/Zend_Controller_Request_Http-setRequestUri-bug--tf3953464s16154.html
My hack is to flip the 1st and 2nd elseif condition so that $_SERVER['REDIRECT_URI'] is checked before $_SERVER['REDIRECT_URL']. public function setRequestUri($requestUri = null) { if ($requestUri === null) { if (isset($_SERVER['HTTP_X_REWRITE_URL'])) { // check this first so IIS will catch $requestUri = $_SERVER['HTTP_X_REWRITE_URL']; ==> } elseif (isset($_SERVER['REQUEST_URI'])) { ==> $requestUri = $_SERVER['REQUEST_URI']; ==> } elseif (isset($_SERVER['REDIRECT_URL'])) { // Check if using mod_rewrite ==> $requestUri = $_SERVER['REDIRECT_URL']; } elseif (isset($_SERVER['ORIG_PATH_INFO'])) { // IIS 5.0, PHP as CGI $requestUri = $_SERVER['ORIG_PATH_INFO']; if (!empty($_SERVER['QUERY_STRING'])) { $requestUri .= '?' . $_SERVER['QUERY_STRING']; } } else { return $this; } } elseif (!is_string($requestUri)) { return $this; } else { // Set GET items, if available $_GET = array(); if (false !== ($pos = strpos($requestUri, '?'))) { // Get key => value pairs and set $_GET $query = substr($requestUri, $pos + 1); parse_str($query, $vars); $_GET = $vars; } } $this->_requestUri = $requestUri; return $this; } I'm not sure if this is the solution for your problem. But if you are stuck, this maybe worth a try. Jim alesl wrote: > > Hi. > > When testing a Zend Framework application at Dreamhost hosting, I > discovered a problem with the routing system in my particular > configuration. > At home everything works perfectly (tested on windows and linux - > apache_mod), but routing does not work correctly in environmet with > Apache, suexec and mod_rewrite (Dreamhost). > > This is my .htaccess > RewriteEngine on > > RewriteBase / > > RewriteCond %{SCRIPT_FILENAME} !-f > RewriteCond %{SCRIPT_FILENAME} !-d > RewriteRule ^(.*)$ index.php/$1 [L] > > RewriteCond %{REQUEST_FILENAME} -f > RewriteRule ^(.*\.)(js|css)$ index.php [L,NC] > > The second conditon rewrites js and css files to index.php where front > controller takes action with defined route: > routes.jscss.type = > "Zend_Controller_Router_Route_Regex" > routes.jscss.route = "(.+)\.(css|js)" > routes.jscss.defaults.module = "jscss" > routes.jscss.defaults.controller = "index" > routes.jscss.defaults.action = "index" > routes.jscss.map.1 = "file" > routes.jscss.map.2 = "type" > > Ass i said on local machines js, css files are minimized and send back to > browser. On Dreamhost nothing hapens -> routing is ignored ?!?! > > Any sugestions?? > > Regards, AlesL > -- View this message in context: http://www.nabble.com/Routing-does-not-work-correctly-tf3960104s16154.html#a11239120 Sent from the Zend Framework mailing list archive at Nabble.com.