Thanks! Here are the values that cause entry into the else-if statement: $targetUrl === 'http://localhost/MediawikiTest/Latest Trunk Version/phase3/index.php/Main_Page'
$action === 'view' $request->data === <null array> $this->GET === <null array> $title->mDbkeyform === 'Main_Page' _SERVER[REQUEST_METHOD] === GET I can see why the redirect else-if is entered (no title= parameter, $action === view), but the targetUrl looks OK to me. I'm not sure why the logic should analyze this case as a redirect. P.S. When I previously dumped the get request using httpfox it showed (I haven't figured out how to configure netbeans to use FF, so this dump is from a separate run not using the debugger): (Request-Line) GET /MediawikiTest/Latest%20Trunk%20Version/phase3/index.php/Main_Page HTTP/1.1 Host localhost User-Agent Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; en-US; rv:1.9.0.11) Gecko/2009060214 Firefox/3.0.11 Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language en-us,en;q=0.5 Accept-Encoding gzip,deflate Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive 300 Connection keep-alive --- On Tue, 7/21/09, Aryeh Gregor <[email protected]> wrote: > From: Aryeh Gregor <[email protected]> > Subject: Re: [Wikitech-l] Continually falling through InitializeSpecialCases > else-if > To: "Wikimedia developers" <[email protected]> > Date: Tuesday, July 21, 2009, 10:09 AM > On Tue, Jul 21, 2009 at 12:34 PM, dan > nessett<[email protected]> > wrote: > > else if( $action == 'view' && > !$request->wasPosted() && > > ( > !isset($this->GET['title']) || > $title->getPrefixedDBKey() != $this->GET['title'] ) > && > > !count( array_diff( > array_keys( $this->GET ), array( 'action', 'title' ) ) ) > ) > > $action == 'view': This is a normal page view (not edit, > history, etc.) > > !$request->wasPosted(): This is a GET request, not > POST. > > !isset($this->GET['title']) || > $title->getPrefixedDBKey() != > $this->GET['title']: Either the title= parameter in the > URL is unset, > or it's set but not to the same thing as $title. > > !count( array_diff( array_keys( $this->GET ), array( > 'action', 'title' > ) ) ) ): There is no URL query parameter other than "title" > and > "action" (e.g., no oldid=, diff=, . . .). > > _______________________________________________ > Wikitech-l mailing list > [email protected] > https://lists.wikimedia.org/mailman/listinfo/wikitech-l _______________________________________________ Wikitech-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitech-l
