wiki:ServerSideRedirectPlugin

Version 7 (modified by anonymous, 4 years ago) (diff)

--

Server Side Redirect from a Wiki Page

Description

This plug-in allows one to place a redirect macro at the start of any wiki page which will cause an server side redirect when the wiki page is viewed.

This plug-in is compatible (i.e. can be used) with the client side redirect macro TracRedirect but doesn't depend on it. Because the redirect is caused by the server (using a HTTP redirect request to the browser) it is much faster and less noticeable for the user. The back-link feature of TracRedirect can also be used for server side redirected pages because both generate the same URL attributes.

A protection for 1st (A->A) and 2nd (A->B->A) order redirect loops is implemented, but higher order loops (A->B->C->A, etc.) must be handled by the browser or the user. Firefox 3 handles redirect loops well.

To edit a redirecting wiki page access its URL with ?action=edit appended. To view the page either use ?action=view, which will print the redirect target (if TracRedirect isn't active, which will redirect the wiki using client side code), or ?redirect=no which disables redirection of both the ServerSideRedirectPlugin and TracRedirect plug-in.

Direct after the redirect target is added (or modified) Trac will automatically reload it, as it does with all wiki pages. This plug-in will detect this and not redirect but display the wiki page with the redirect target URL printed to provide feedback about the successful change. However, further visits will trigger the redirect.

Dependencies

This plug-in uses the ExtractUrlPlugin, which must also be install.

Bugs/Feature Requests

Existing bugs and feature requests for ServerSideRedirectPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

You can check out ServerSideRedirectPlugin from here using Subversion, or browse the source with Trac.

Usage Examples

The following 'macro' at the begin of the wiki page will cause a redirect to the OtherWikiPage.

[[redirect(OtherWikiPage)]]

Any other TracLink can be used:

[[redirect(wiki:OtherWikiPage)]]
[[redirect(source:/trunk/file.py)]]
[[redirect(http://www.example.com/)]]

Recent Changes

[11890] by rjollos on 2012-08-04 03:37:28
Fixes #6940, #8680:

  • Removed setup_requires statement from setup.py. The listed package is only necessary for installation, not for running setuptools.
  • Modified import statement for extract_url since it was not importing correctly.


Tested with Trac 1.0dev-r11167.

[8552] by martin_s on 2010-08-30 23:57:55
Added encoding meta-comment and declared SVN keywords as unicode to avoid issues with non-english locales.
[8428] by martin_s on 2010-08-23 13:12:11
Removed outdated variable rev from setup file.

Author/Contributors

Author: martin_s
Contributors: