wiki:ServerSideRedirectPlugin

Version 8 (modified by Martin Scharrer, 14 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 [download:serversideredirectplugin/0.11 here].

Source

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

Usage Examples

To use the plugin place the following trac macro at the begin of the wiki page.

[[redirect(OtherWikiPage)]]

or

[[Redirect(OtherWikiPage)]]

The macro is normally not executed, but the plugin will scan every wiki page for it and execute the redirect before the wiki page is send to the user. However, a fall-back implementation of the macro is provided which displays the redirect target to the user. This message is also shown directly after the redirect macro was added to the wiki page to give the editing user a feedback over the successful change.

Please note that the lower-case version 'redirect' is compatible with the TracRedirect macro, which is not redefined by this plugin if this macro is also enabled. The upper-case version 'Redirect' is always provided by this plugin and will be ignored by TracRedirect.

In addition to a wiki page any other TracLink can also be used:

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

or

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

Recent Changes

17895 by rjollos on 2020-12-03 21:48:50
TracServerSideRedirectPlugin 1.0.2: Bump versions and release
17894 by rjollos on 2020-12-03 21:47:51
TracServerSideRedirectPlugin 1.0.1: Add release command
17891 by rjollos on 2020-12-03 21:43:41
TracServerSideRedirectPlugin 1.0.1: Remove www prefix from URL
(more)

Author/Contributors

Author: martin_s
Contributors: