isActualFile($staticFilePath)) { return $staticFilePath; } return false; } /** * Get the fully resolved path to the application's front controller. * * @param string $sitePath * @param string $siteName * @param string $uri * @return string */ public function frontControllerPath($sitePath, $siteName, $uri) { $_SERVER['PHP_SELF'] = $uri; $_SERVER['SERVER_NAME'] = $_SERVER['HTTP_HOST']; if (strpos($uri, '/wp/') === 0) { return is_dir($sitePath.'/web'.$uri) ? $sitePath.'/web'.$this->forceTrailingSlash($uri).'/index.php' : $sitePath.'/web'.$uri; } if ($uri !== '/' && file_exists($sitePath.'/web'.$uri)) { return $sitePath.'/web'.$uri; } return $sitePath.'/web/index.php'; } /** * Redirect to uri with trailing slash. * * @param string $uri * @return string */ private function forceTrailingSlash($uri) { if (substr($uri, -1 * strlen('/wp/wp-admin')) == '/wp/wp-admin') { header('Location: '.$uri.'/'); exit; } return $uri; } }