~drscream

.htaccess round robin

Es ist sicher sinnlos und man braucht so ein round robin wirklich selten … aber vielleicht ja manchmal doch ;-)

Man legt zu erst eine RewriteMap-Datei fest:

<VirtualHost 8.8.8.8:80>
  RewriteMap numbers rnd:/var/www/g-dns/htdocs/numbers
</VirtualHost>

Diese enthaellt dann die Verschiedenen Weiterleitungen z.B. Nummern von 1-3:

$ cat /var/www/g-dns/htdocs/numbers
mirrors 1|2|3

In der .htaccess-Datei wird dann auf die RewriteMap zugegriffen und zufällig auf den gleichen http://host/Nummer weitergeleitet. Hierzu haben wir dann wieder rum Weiterleitungen (RewriteRules) die auf die gewünschten Hosts Weiterleiten.

## Gentoo Mirrors Redirect
RewriteEngine On

## External mirrors
RewriteRule ^1/(.*)$ http://de-mirror.org/distro/gentoo/$1 [NC,L]
RewriteRule ^2/(.*)$ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/$1 [NC,L]
RewriteRule ^3/(.*)$ http://gentoo.inode.at/$1 [NC,L]

## Configuration
RewriteCond %{HTTP_HOST} (mirrors)\.gentoo.google.com [NC]
RewriteRule (.*) http://mirrors.gentoo.google.com/${numbers:%1}/$1 [R,L]

  1. Dominic says:

    Thu 08/09/11, 11:22 am

    Danke für den Beitrag. Hat geholfen ein Round Robin System zu entwickeln. In Kombination mit SetEnvIf und der Proxy-Erweiterung kann ein Load-Balancing umgesetzt werden.

    /

Send your comment by mail.