UseModWiki | WikiBugs | RecentChanges | Preferences

  1. When page FooFoo? redirects to page BarBar?, the redirect html is cached as page BarBar?, with the effect that subsequent GETs of page BarBar? claim to be redirects.
  2. Also, in redirect commands, [[xxx]] some text [[yyy]] links are matched with greedy regexp, so tries to go for a nonsense page, missing the real link which may well exist, see SandBox/Foo? for example.

Short Term Work Around

  1. When this problem arises, load page ?action=browse&id=BarBar? will reset the page in cache, but only till the next time someone loads FooFoo?. [No longer needed for 1.0.]
  2. Don't have more than one Freelink on a redirect page! [Continue to avoid doing silly things like this in 1.0. :-]

Possible Fixes

  1. Suppress write altogether when a redirect is in effect - quite easy to do, return if $oldId ne '' just before the cache write. [Done for 1.0. --CliffordAdams]
  2. Change + to +? at relevent point in patterns. [Not changed. Current behavior is harmless given improbable bad input. --CliffordAdams]

Work in progress

Stopping for Christmas now, but am re-writing the redirection to be handled entirely internally - this will fix the above bugs in passing, and will also allow multi-stage redirects.

To run my latest test version try http://river.redbricks.org.uk/WikiDemo/IntRedir.cgi?PageA

UseModWiki | WikiBugs | RecentChanges | Preferences
Edit text of this page | View other revisions | Search MetaWiki
Last edited August 4, 2003 6:12 pm by CliffordAdams (diff)