= Tipps =
 * Wenn man !RewriteRules für !VirtualHosts anlegen will, sollte man unbedingt eine !RewriteCond angeben, sonst gilt es für alle !VirtualHosts mit der gleichen IP.
 {{{
RewriteCond %{HTTP_HOST} ^virtualhost\.example\.com(:.*)?$
}}}
 * Track|Trace deaktivieren:

Problembeschreibung hier: http://www.heise.de/security/news/meldung/43354

In /etc/apache2/sites-available/default folgendes hinzufügen:
{{{
	RewriteEngine On
	RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
	RewriteRule .* - [F]
}}}
Am besten ziemlich weit am Anfang.
Außerdem benötigt man eine Datei {{{/etc/apache2/mods-available/rewrite.load}}} mit folgenden Inhalt:
{{{
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
}}}

Dann noch einen Verweis anlegen: 
{{{
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
}}}
Getestet unter Debian 3.1 (unter anderen Distributionen wird das unter Umständen anders gemacht)
= Fragen =
Frage: kann mir dies Regeln jemand erklären (insbes. die letzten drei) -- RonnyBuchmann <<DateTime(2002-11-08T19:08:59)>>
{{{
LoadModule rewrite_module     modules/mod_rewrite.so
LoadModule proxy_module       modules/libproxy.so
AddModule mod_rewrite.c
AddModule mod_proxy.c
RewriteEngine       on
ProxyRequests        on
RewriteRule /mldonkey http://localhost:4080/$1 [P,L]
RewriteRule /(submit.*) http://localhost:4080/$1 [P,L]
RewriteRule /(files.*) http://localhost:4080/$1 [P,L]
ProxyPassReverse /(.*)  http://localhost:4080/$1
}}}

Ja kann ich (hoffe ich zumindest)!
 1. Rule: Der Server dient als Reverse-Proxy und leitet {{{/mldonkey}}} nach {{{localhost:4080/}}} um
 2. Rule: Der Server dient als Reverse-Proxy und leitet alles was mit {{{submit}}} beginnt nach {{{localhost:4080/}}} um, wobei der Dateiname z.B. {{{submit.html}}} angehängt wird.
 3. Rule: analog zu 2.
 4. !ProxyPassReverse: Sorgt dafür, dass die Antwort von {{{localhost:4080}}} so umgeschrieben wird, dass als Absender nicht {{{localhost:4080}}}, sondern der ursprüngliche Anfragename genannt wird. Dadurch wir verhindert, dass ein Client bemerkt, dass hier ein Reverse-Proxy arbeitet. Alle Adressen werden so maskiert, dass es für den Client so aussieht als würde er eine Antwort von Port 80 auf der externen IP mit dem externen Namen bekommen!

Hoffe das hilft -- JanRoehrich <<DateTime(2002-11-08T22:25:32)>>


'''Ergänzung:'''

In den neusten Betas müssen die Rewrite Rules noch ergänzt werden. Bei mir funktioniert folgende Konfiguration:
{{{
RewriteEngine on
ProxyRequests on
RewriteRule /mldonkey http://localhost:4080/$1 [P,L]
RewriteRule /(submit.*) http://localhost:4080/$1 [P,L]
RewriteRule /(results.*) http://localhost:4080/$1 [P,L]
RewriteRule /(commands.*) http://localhost:4080/$1 [P,L]
RewriteRule /(oneframe.*) http://localhost:4080/$1 [P,L]
RewriteRule /(noframe.*) http://localhost:4080/$1 [P,L]
RewriteRule /(files.*) http://localhost:4080/$1 [P,L]
RewriteRule /(h.css) http://localhost:4080/$1 [P,L]
RewriteRule /(dh.css) http://localhost:4080/$1 [P,L]
RewriteRule /(i.js) http://localhost:4080/$1 [P,L]
RewriteRule /(di.js) http://localhost:4080/$1 [P,L]
ProxyPassReverse /(.*) http://localhost:4080/$1
}}}

Hoffe auch dies hilft. -- Heinz Stampfli <<MailTo(heinz.st AT mpf.li)>> & CU @ www.hatepage.com