* # PLD Th -> PLD Th Archives * ErrorDocument 404 /html/th-archive.php * */ // avoid magic slashes "escaping" redirect url $request_uri = get_magic_quotes_gpc() ? stripslashes($_SERVER['REQUEST_URI']) : $_SERVER['REQUEST_URI']; // remove full host portion if host is called as proxy. $request_uri = preg_replace('#^http://'. quotemeta($_SERVER['SERVER_NAME']). '\b#', '', $request_uri); function redirect($uri, $extra_msg = null) { global $request_uri; if (!preg_match('#^http://#', $uri)) { $uri = "http://{$_SERVER['SERVER_NAME']}$uri"; } Header('HTTP/1.0 301 Content Moved'); Header("Content-Location: $uri"); Header("Location: $uri"); error_log("archive redirect: $uri"); die("Content moved to $uri."); } $errormap = array( # /home/services/ftp/pld/dists/th/PLD/i686/RPMS/php-pcre-5.3.5-4.i686.rpm '#^//?dists/th/PLD/([^/]+)/RPMS/(.+\.rpm)$#' => 'http://ftp1.pld-linux.org/dists/th/.archive/PLD/$1/RPMS/$2', ); // build destination url from $errormap $uri = preg_replace(array_keys($errormap), array_values($errormap), $request_uri, 1); if ($uri != $request_uri) { redirect($uri); } .