+ // // + Copyright: (c) 2005, Cake Authors/Developers + // // + Author(s): Michal Tatarynowicz aka Pies + // // + Larry E. Masters aka PhpNut + // // + Kamil Dzielinski aka Brego + // // +------------------------------------------------------------------+ // // + Licensed under The MIT License + // // + Redistributions of files must retain the above copyright notice. + // // + See: http://www.opensource.org/licenses/mit-license.php + // ////////////////////////////////////////////////////////////////////////// /** * This file collects requests if: * - no mod_rewrite is avilable or .htaccess files are not supported * - /public is not set as a web root. * * @filesource * @author Cake Authors/Developers * @copyright Copyright (c) 2005, Cake Authors/Developers * @link https://developers.nextco.com/cake/wiki/Authors Authors/Developers * @package cake * @since Cake v 0.2.9 * @version $Revision$ * @modifiedby $LastChangedBy$ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ /** * Get Cake's root directory */ define ('DS', DIRECTORY_SEPARATOR); define ('ROOT', dirname(__FILE__).DS); /** * We need to redefine some constants and variables, so that Cake knows it is * working without mod_rewrite. */ define ('BASE_URL', $_SERVER['SCRIPT_NAME'].'?url='); /** * As mod_rewrite (or .htaccess files) is not working, we need to take care * of what would normally be rewrited, i.e. the static files in /public */ if (empty($_GET['url']) || ($_GET['url'] == '/')) { require (ROOT.'public/index.php'); } else { $elements = explode('/index.php?url=', $_SERVER['REQUEST_URI']); $base = $elements[0].'/public'; $path = $elements[1]; $filename = ROOT.'public'.str_replace('/', DS, $path); $url = $base.$path; if (file_exists($filename)) { if (preg_match('/^.*\.([a-z]+)$/i', $filename, $ext)) { switch ($ext[1]) { case 'jpg': case 'jpeg': header('Content-type: image/jpeg'); break; case 'css': header('Content-type: text/css'); } } print (file_get_contents($filename)); die(); } else { require (ROOT.'public/index.php'); } } ?>