rolf: htaccess RewriteRule dauerlauf für weiterleitung

Beitrag lesen

hallo,

RewriteEngine on
RewriteCond %{HTTP_REFERER} bösedomain.com [OR]
RewriteCond %{HTTP_REFERER} bösedomain.net [OR]
RewriteCond %{HTTP_REFERER} bösedomain.ru [OR]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule /* http://www.example.org/index.html [R,L]

1.  Der Request kommt also mit bösem Referer.
2. Der wird _extern_ umgeleitet auf http://www.example.org/index.html (Beispieldomains sollten die dafür vorgesehenen example.net, example.org, example.com sein, nicht existente Domains, die Dir nicht gehören - oder arbeitest Du für Schlund und Partner?)

Ja, eine domain von mir ist bei Schlund und Partner oder 1+1 und die andere auf einem österreichischen, welche beide den bösen referer von einer bösen-seite haben. Hab damit ein traffic problem, aber das ist ja nicht das thema.

  1. Der Browser wird also einen _neuen_ Request abschicken - da es sich um eine Weiterleitung handelt, mit demselben Referer.

Ja mit dem referer der bösen domain, nicht von meiner.

  1. Apache wird also erkennen, daß eine der Bedingungen für böse Referer zutrifft, und die externe Umleitung auf http://www.example.org/index.html vornehmen.

  2. Jetzt geht es weiter mit Schritt 3.

Abhilfe:
Leite nicht extern, sondern nur intern um auf /index.html
Dann müßte das L-Flag auch greifen.

Ja ich denke auch dass der L-Flag nicht greift.
Mit der internen umleitung gehts genau so nicht übrigens
RewriteEngine on
RewriteCond %{HTTP_REFERER} böseseite.com [OR]
RewriteCond %{HTTP_REFERER} böseseite.net [OR]
RewriteCond %{HTTP_REFERER} böseseite.ru [OR]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^.*$ /index.html [R,L]

habe noch nicht erwähnt dass ich unterhalb von RewriteRule noch einen eintrag habe
RewriteRule ^.*$ /index.html [R,L]
deny from 66.196.90.
deny from 81.176.228.

Könnte das eventuell damit zu tun haben?

Wenn nicht, füge noch eine Bedingung hinzu, daß die URL nicht /index.html sein darf.

Also eine andere datei als index.html bei einer internen umleitung?
Was ich komisch finde ist dass er bei
RewriteCond %{REQUEST_FILENAME} !-s
richtig umleitet und bei treffendem HTTP_REFERER die seite nicht bringt, die im RewriteRule steht.
Rolf