Not Found\n"; echo "

the page " . htmlspecialchars($REQUEST_URI) . " could not be found.

\n"; commonFooter(); } // Mirror specific configuration (for search support) if (file_exists("../configuration.inc")) { include_once "../configuration.inc"; } // For images, we automatically display a 404 if (preg_match('/\.(pdf|gif|jpg)$/', $REQUEST_URI)) { make404(); exit; } // Get preferred language, and check for // existing manual in that language $lang = default_language(); if (!@is_dir("$DOCUMENT_ROOT/manual/$lang")) { $lang = "en"; // fall back to English } // handle .php3 files that were renamed to .php if (preg_match("/(.*\.php)3$/", $REQUEST_URI, $array)) { if($SERVER_PORT!=80) { $url = "http://".$SERVER_NAME.":".$SERVER_PORT.$array[1]; } else { $url = "http://".$SERVER_NAME.$array[1]; } $urle = htmlspecialchars($url); header("Location: $url"); print "Redirect to $urle"; print "Please click here"; exit; } // handle moving english manual down into its own directory if (eregi("^(.*)/manual/((html/)?[^/]+)$", $REQUEST_URI, $array)) { if ($SERVER_PORT != 80) { $url = "http://".$SERVER_NAME.":".$SERVER_PORT."$array[1]/manual/$lang/".$array[2]; } else { $url = "http://".$SERVER_NAME."$array[1]/manual/$lang/".$array[2]; } $urle = htmlspecialchars($url); header("Location: $url"); print "Redirect to $urle"; print "Please click here"; exit; } // prepare URI for manual page and PHP page shortcuts $error_notes = $REDIRECT_REDIRECT_ERROR_NOTES ? $REDIRECT_REDIRECT_ERROR_NOTES : $REDIRECT_ERROR_NOTES; $uri = substr( $error_notes, strpos($error_notes,$DOCUMENT_ROOT)+strlen($DOCUMENT_ROOT)+1 ); // drop out leading slash if ($uri[0] == "/") $uri = substr($uri,1); // Printer friendly manual page handling. It's important // that this is included, and not redirected, as this way // all relative URL's will retain their meaning and point // to pages relative to the print dir (which is nonexistent) if (preg_match("!^manual/(\\w+)/print/(.+\\.php)$!", $uri, $parts)) { $PRINT_PAGE = TRUE; include "../manual/$parts[1]/$parts[2]"; exit; } elseif (preg_match("!^manual/(\\w+)/print(/)?$!", $uri, $parts)) { $PRINT_PAGE = TRUE; include "../manual/$parts[1]/index.php"; exit; } // shortcuts for PHP and manual pages $uri_aliases = array ( # PHP page shortcuts "download" => "downloads", "documentation" => "docs", "mailinglists" => "mailing-lists", "mailinglist" => "mailing-lists", "changelog" => "ChangeLog-4", "gethelp" => "support", "help" => "support", "unsubscribe" => "unsub", "subscribe" => "mailing-lists", # manual shortcuts "ini" => "configuration", "install" => "installation", "intro" => "introduction", "whatis" => "introduction", "whatisphp" => "introduction", "what_is_php" => "introduction", "windows" => "install.windows", "win32" => "install.windows", "globals" => "security.registerglobals", ); // if the user typed an aliased URL, transform it if (isset($uri_aliases[strtolower($uri)])) { $uri = $uri_aliases[strtolower($uri)]; } // handle common page shortcuts, like docs, links, support, etc. if (file_exists("$DOCUMENT_ROOT/$uri.php")) { header("Location: http://$SERVER_NAME/$uri.php"); exit; } // try to find the uri as a manual entry require "manual-lookup.inc"; if (strchr($uri,'/')) { list($lang,$function) = explode('/',$uri,2); $function = strtolower($function); if (isset($uri_aliases[$function])) { $function = $uri_aliases[$function]; } $lang = strtolower($lang); } else { $function = strtolower($uri); } // Quick access to revcheck output and build logs for manual writers if ($function == "rev") { header("Location: http://$SERVER_NAME/manual/$lang/revcheck.html.gz"); exit; } elseif ($function == "blog") { header("Location: http://$SERVER_NAME/manual/$lang/build.log.gz"); exit; } else if (in_array($function, array("dochowto", "phpdochowto"))) { header("Location: http://cvs.php.net/co.php/phpdoc/howto/howto.html.tar.gz"); exit; } $try = find_manual_page($lang, $function); if ($try) { header("Location: $try"); exit; } // redirect to the search page with the pattern set to $REQUEST_URI header('Location: http://'.$SERVER_NAME.'/search.php?show=nosource&auto=1&pattern='.urlencode(substr($REQUEST_URI,1)) ); ?>