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
+
Redirector is a browser extension 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.
- 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:
-
-
Example url: This is an example of an url you want to redirect. It is not really used for anything,
- it's just there to show what types of urls you're targetting. You can leave this out, but then you can't use the Test pattern button.
+
To add a new redirect you press the Redirector icon next to your address bar, and in the popup that comes up you choose the Edit Redirects button.
+ On the settings page you can add, edit and delete redirect. Redirects will be checked in the same order as they are shown on that page, so you can move them
+ up or down to give them higher or lower priority. The edit form will guide you by showing you an example result as you're typing in your patterns. A redirect
+ contains the following fields:
+
+
+
Description: The description is optional, it's only there for you to better keep track of your redirects
+ and why they're there.
+
+
Example url: This is an example of an url you want to redirect. It is used to help you create your redirect, and show you
+ an example result while you're editing the redirect.
Include pattern: This is pattern for the urls you want to redirect. In the simplest case, where you just want
- to redirect one specific url to another then this will just be the exact url you want to redirect. For instance, if you just want http://aaa.com to
- redirect to http://bbb.com then Include pattern will just be http://aaa.com. For more complex patterns that match many
+ to redirect one specific url to another then this will just be the exact url you want to redirect. For instance, if you just want http://aaa.com to
+ redirect to http://bbb.com then Include pattern will just be http://aaa.com. For more complex patterns that match many
urls you can use either wildcards or regular expressions.
Exclude pattern: Urls that match this pattern will never be redirected. This is not necessary to
@@ -69,20 +74,33 @@
Redirect to: This is the url that you will be redirected to when you open any page where the url matches the
include pattern. You can use the special signs $1, $2, $3 etc. in the url, they will be replaced by the results of captures with regular
- expressions or stars with wildcards. For instance, if you have the include pattern http://google.com/*, redirect to http://froogle.com/$1
- and you open the page http://google.com/foobar, then you will be redireced to http://froogle.com/foobar, since 'foobar' was what the star replaced. $1 is for the
+ expressions or stars with wildcards. For instance, if you have the include pattern http://google.com/*, redirect to http://froogle.com/$1
+ and you open the page http://google.com/foobar, then you will be redireced to http://froogle.com/foobar, since 'foobar' was what the star replaced. $1 is for the
first star in the pattern, $2 for the second and so on. For regular expression $1 is for the first parantheses, $2 for the second etc.
Pattern type: This specifies how Redirector should interpret the patterns, either as
wildcards or regular expressions.
Unescape matches: A common usage of Redirector is to catch urls like
- http://foo.com/redirect.php?url=http%3A%2F%2Fbar%2Ecom%2Fpath and try to catch the url parameter and redirect to it. A pattern
- like http://foo.com/redirect.php?url=* might be used for that purpose. However, if the url parameter is escaped (also known
- as urlencoded) then that won't work. In the url above we see that it starts with http%3A%2F%2F instead of http://, and Firefox
+ http://foo.com/redirect.php?url=http%3A%2F%2Fbar%2Ecom%2Fpath and try to catch the url parameter and redirect to it. A pattern
+ like http://foo.com/redirect.php?url=* might be used for that purpose. However, if the url parameter is escaped (also known
+ as urlencoded) then that won't work. In the url above we see that it starts with http%3A%2F%2F instead of http://, and Firefox
won't accept this as a new url to redirect to. So, in cases like these you can check the Unescape matches option and then all
- matches will be unescaped (turned from e.g. http%3A%2F%2Fbar%2Ecom to http://bar.com) before being inserted into the target url.
+ matches will be unescaped (turned from e.g. http%3A%2F%2Fbar%2Ecom to http://bar.com) before being inserted into the target url.
+
+
Escape matches: The opposite of Unescape matches. Let's say you want to redirect all requests to
+ a domain like http://example.com to some proxy site that took the url to proxy as an url parameter. Then you might do something like the regular expression pattern
+ ^(http://example\.com/.*) and redirect it to http://proxysite.com?url=$1. If you used the Escape matches option then the
+ final url would become http://proxysite.com?url=http%3A%2F%2Fexample.com%2Ffoo%2Fbar.
+
+
+
Apply to: The Apply to option is new in version 3.0 of Redirector. For 99% of cases you won't need this, so don't worry about it.
+ By default Redirector only redirects requests from the address bar of your browser, the page you're viewing. It doesn't redirect requests for scripts, iframes, images
+ or anything else. Now in version 3.0 it is possible to opt into that however, and redirect any type of request. Just beware that this might have performance implications
+ if you're redirecting all types of requests and you have many redirects.
+
+
@@ -94,15 +112,15 @@
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:
-
http://example.com/* matches http://example.com/, http://example.com/foo, http://example.com/bar and all other urls that start with http://example.com/.
-
http://*.example.com matches all subdomains of example.com, like http://www.example.com, http://mail.example.com.
-
http*://example.com matches both http://example.com and https://example.com.
http://example.com/* matches http://example.com/, http://example.com/foo, http://example.com/bar and all other urls that start with http://example.com/.
+
http://*.example.com matches all subdomains of example.com, like http://www.example.com, http://mail.example.com.
+
http*://example.com matches both http://example.com and https://example.com.
$1, $2, $3 in the redirect urls will match the text that the stars matched. Examples:
-
http://example.com/* matches http://example.com/foobar, $1 is foobar.
-
http://*.example.com/* matches http://www.example.com/foobar, $1 is www, $2 is foobar.
+
http://example.com/* matches http://example.com/foobar, $1 is foobar.
+
http://*.example.com/* matches http://www.example.com/foobar, $1 is www, $2 is foobar.
@@ -112,8 +130,8 @@
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 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 \?).
@@ -123,59 +141,137 @@
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
-
+
+
+
Example URL:
+
http://example.com/foo
+
+
+
Include pattern:
+
http://example.com/foo
+
+
+
Redirect to:
+
http://example.com/bar
+
+
+
Pattern type:
+
Wildcard
+
+
+
Example result:
+
http://example.com/bar
+
+
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
-
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
-
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
-
+ 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.
+
+
+
+
Example URL:
+
http://example.com/category/fish/index.php
+
+
+
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
+
+
+
Example result:
+
http://example.com/category/cats/index.php
+
+
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
-