Redirector Help

Table of contents

What is Redirector?

Redirector is an extension for Firefox that allows you to automatically redirect from one webpage to another. For example, every time you visit http://abc.com you will automatically load http://def.com instead. This can be useful for instance to always redirect articles to printer friendly versions, redirect http:// to https:// for sites that support both, bypass advertising pages that appear before being able to view certain pages and more.

Basic usage

To add a new redirect you can go to the Tools menuitem and select Redirector. That will open the Redirector settings window which shows all your redirects. The window can also be opened by right clicking on the R icon in your statusbar and selecting Manage redirects. There you can press the Add... button and then you can enter the details for the new redirect. A redirect consists of a few things:

Wildcards

Wildcards are the simplest way to specify include and exclude patterns. When you create a wildcard pattern there is just one special character, the asterisk *. An asterisk in your pattern will match zero or more characters and you can have more than one star in your pattern. Some examples:

$1, $2, $3 in the redirect urls will match the text that the stars matched. Examples:

Regular expressions

Regular expressions allow for more complicated patterns but they are a lot harder to learn than wildcards. I'm not gonna create a regex tutorial here but normal javascript regex syntax works, look at http://regular-expressions.info for an introduction to regular expressions. $1,$2 etc. can be used in the redirect url and will be replaced with contents of captures in the regular expressions. Captures are specified with parantheses. Example: http://example.com/index.asp\?id=(\d+) will match the url http://example.com/index.asp?id=12345 and $1 will be replaced by 12345. (A common mistake in regex patterns is to forget to escape the ? sign in the querystring of the url. ? is a special character in regular expressions so if you want to match an url with a querystring you should escape it as \?).

XPath redirects

The redirect url can be specified as an xpath expression by starting it with xpath: and then you will be redirected to the url that the xpath expression matches. Example: Redirect url is xpath:/div/span/a/@href, then you will be redirected to the href value of the first link that's inside a div in the original page.

Examples

  1. Static redirect
    Redirects from http://example.com/foo to http://example.com/bar

    Include pattern: http://example.com/foo
    Exclude pattern:
    Redirect to: http://example.com/bar
    Pattern type: Wildcard

  2. Redirect using query string parameter and wildcards
    Redirects from http://example.com/index.php?id=12345&a=b to http://example.com/printerfriendly.php?id=12345&a=b where 12345 could be any number.

    Include pattern: http://example.com/index.php?id=*&a=b
    Exclude pattern:
    Redirect to: http://example.com/printerfriendly.com?id=$1&a=b
    Pattern type: Wildcard

  3. Redirect using query string parameter and regular expressions
    Redirects from http://example.com/index.php?id=12345&a=b to http://example.com/printerfriendly.php?id=12345&a=b where 12345 could be any number.

    Include pattern: http://example.com/index.php\?id=(\d+)&a=b
    Exclude pattern:
    Redirect to: http://example.com/printerfriendly.com?id=$1&a=b
    Pattern type: Regular Expression

  4. Redirect to a different folder using wildcards
    Redirects from http://example.com/category/fish/index.php to http://example.com/category/cats/index.php where fish could be any word. The exclude pattern makes sure that there is only one folder there, so for instance http://example.com/category/fish/cat/mouse/index.php would not match.

    Include pattern: http://example.com/category/*/index.php
    Exclude pattern: http://example.com/category/*/*/index.php
    Redirect to: http://example.com/category/cats/index.php
    Pattern type: Wildcard

  5. Redirect http to https using wildcards
    Redirects from http://mail.google.com/randomcharacters to https://mail.google.com/randomcharacters where randomcharacters could be anything.

    Include pattern: http://mail.google.com*
    Exclude pattern:
    Redirect to: https://mail.google.com$1
    Pattern type: Wildcard