At a guess, you haven't set up short URLs properly.  If you have no active 
apache rewrite rules, then that is a URL that will trigger the internal 
redirect.  However, if your MW installation *thinks* that it's supposed to 
serve short URLs in that format, then it will happily form the redirect URL 
*in that format*; and there's your redirect loop.

--HM

"dan nessett" <[email protected]> wrote in message 
news:[email protected]...
>
> 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

Reply via email to