diff --git a/server.php b/server.php index 043b0a5..55925fb 100644 --- a/server.php +++ b/server.php @@ -9,16 +9,28 @@ * @copyright Copyright (c) Steeve Andrian Salim */ // ------------------------------------------------------------------------ - $uri = urldecode( - parse_url( $_SERVER[ 'REQUEST_URI' ], PHP_URL_PATH ) + parse_url($_SERVER[ 'REQUEST_URI' ], PHP_URL_PATH) ); // This file allows us to emulate Apache's "mod_rewrite" functionality from the -// built-in PHP web server. This provides a convenient way to test a Laravel +// built-in PHP web server. This provides a convenient way to test a O2System Framework // application without having installed a "real" web server software here. -if ( $uri !== '/' && file_exists( __DIR__ . '/public' . $uri ) ) { +if ($uri !== '/' && file_exists(__DIR__ . '/public' . $uri)) { return false; +} elseif ($uri !== '/' && file_exists($filePath = __DIR__ . str_replace('\\', '/', DIRECTORY_SEPARATOR))) { + if (strpos(dirname($filePath), 'database') !== false) { + return false; + } elseif (strpos(dirname($filePath), 'cache') !== false) { + return false; + } elseif (is_file($filePath)) { + header('Content-Disposition: filename=' . pathinfo($filePath, PATHINFO_BASENAME)); + header('Content-Transfer-Encoding: binary'); + header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT'); + header('Content-Type: ' . filemtime($filePath)); + echo readfile($filePath); + exit(0); + } } -require_once __DIR__ . '/public/index.php'; \ No newline at end of file +require_once __DIR__ . '/public/index.php';