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