siteNameFromHttpHost($_SERVER['HTTP_HOST']); $valetSitePath = $server->sitePath($siteName); if (is_null($valetSitePath) && is_null($valetSitePath = $server->defaultSitePath())) { Server::show404(); } $valetSitePath = realpath($valetSitePath); /** * Find the appropriate Valet driver for the request. */ $valetDriver = ValetDriver::assign($valetSitePath, $siteName, $uri); if (! $valetDriver) { Server::show404(); } /** * ngrok uses the X-Original-Host to store the forwarded hostname. */ if (isset($_SERVER['HTTP_X_ORIGINAL_HOST']) && ! isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { $_SERVER['HTTP_X_FORWARDED_HOST'] = $_SERVER['HTTP_X_ORIGINAL_HOST']; } /** * Attempt to load server environment variables. */ $valetDriver->loadServerEnvironmentVariables( $valetSitePath, $siteName ); /** * Allow driver to mutate incoming URL. */ $uri = $valetDriver->mutateUri($uri); /** * Determine if the incoming request is for a static file. */ $isPhpFile = pathinfo($uri, PATHINFO_EXTENSION) === 'php'; if ($uri !== '/' && ! $isPhpFile && $staticFilePath = $valetDriver->isStaticFile($valetSitePath, $siteName, $uri)) { return $valetDriver->serveStaticFile($staticFilePath, $valetSitePath, $siteName, $uri); } /** * Allow for drivers to take pre-loading actions (e.g. setting server variables). */ $valetDriver->beforeLoading($valetSitePath, $siteName, $uri); /** * Attempt to dispatch to a front controller. */ $frontControllerPath = $valetDriver->frontControllerPath( $valetSitePath, $siteName, $uri ); if (! $frontControllerPath) { if (isset($valetConfig['directory-listing']) && $valetConfig['directory-listing'] == 'on') { Server::showDirectoryListing($valetSitePath, $uri); } Server::show404(); } chdir(dirname($frontControllerPath)); require $frontControllerPath;