cvs: livedocs / error.php
| From: | Wez Furlong | Date: | Thu, 05 Feb 2004 14:57:34 +0000 |
| Subject: | cvs: livedocs / error.php | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969358758@lists.php.net to get a copy of this message | ||
wez Thu Feb 5 09:57:34 2004 EDT
Modified files:
/livedocs error.php
Log:
Make this work under IIS
http://cvs.php.net/diff.php/livedocs/error.php?r1=1.4&r2=1.5&ty=u
Index: livedocs/error.php
diff -u livedocs/error.php:1.4 livedocs/error.php:1.5
--- livedocs/error.php:1.4 Fri Jan 23 09:58:38 2004
+++ livedocs/error.php Thu Feb 5 09:57:33 2004
@@ -18,12 +18,23 @@
// | Handles the 404 error and try to redirect to the good place. |
// +----------------------------------------------------------------------+
//
-// $Id: error.php,v 1.4 2004/01/23 14:58:38 didou Exp $
+// $Id: error.php,v 1.5 2004/02/05 14:57:33 wez Exp $
+
+/* handle IIS style 404 handler */
+if (strncmp($_SERVER['SERVER_SOFTWARE'], "Microsoft", 9) == 0 &&
+ strncmp($_SERVER['QUERY_STRING'], "404;", 4) == 0) {
+
+ $rurl = parse_url(substr($_SERVER['QUERY_STRING'], 4));
+
+ $_SERVER['REDIRECT_URL'] = $rurl['path'];
+ if (isset($rurl['query'])) {
+ $_SERVER['REDIRECT_URL'] .= '?' . $rurl['query'];
+ }
+}
if (!empty($_SERVER['REDIRECT_URL'])) {
// This is the requested page that caused the error
$current_page = substr($_SERVER['REDIRECT_URL'], strlen(WEBBASE));
-
if (strncmp(substr($current_page, -5), ".html", 5)) {
if (preg_match('|([A-Za-z_]{2,5})/(.*)|', $current_page, $m)) {
$current_page = $m[2];