Apache Mod Rewrite Referer based mit Wildcards ? Wie ?

Apache, Lighttpd, nginx, Cherokee
Post Reply
hotzi
Posts: 197
Joined: 2004-04-14 09:04
Location: Bayern, Sulzemoos
Contact:
 

Apache Mod Rewrite Referer based mit Wildcards ? Wie ?

Post by hotzi »

Hallo allerseits.

In der Apache Rewrite Guide:

http://httpd.apache.org/docs/misc/rewriteguide.html

gibts diese Erklärung:

Referer-based Deflector
Description:
How can we program a flexible URL Deflector which acts on the "Referer" HTTP header and can be configured with as many referring pages as we like?
Solution:
Use the following really tricky ruleset... RewriteMap deflector txt:/path/to/deflector.map

RewriteCond %{HTTP_REFERER} !=""
RewriteCond ${deflector:%{HTTP_REFERER}} ^-$
RewriteRule ^.* %{HTTP_REFERER} [R,L]

RewriteCond %{HTTP_REFERER} !=""
RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND
RewriteRule ^.* ${deflector:%{HTTP_REFERER}} [R,L]


... in conjunction with a corresponding rewrite map:

##
## deflector.map
##

http://www.badguys.com/bad/index.html -
http://www.badguys.com/bad/index2.html -
http://www.badguys.com/bad/index3.html http://somewhere.com/


This automatically redirects the request back to the referring page (when "-" is used as the value in the map) or to a specific URL (when an URL is specified in the map as the second argument).
Was mich wundert: Dort sind auf einem Host 3 htmls angegeben, aber es wird nicht erwähnt, wie ich das per Wildcard mit dem ganzen Host machen kann.

Also Beispiel
Also alle Anfragen von http://blabla.de will ich umleiten, ich kann also nicht jede denkbare URL da auflisten, da die Seite die ich abweisen will, dynamischen Content verwendet.

Hat da jemand nen Tipp für mich ?

Gruss

Hotzi
fire
Posts: 13
Joined: 2003-05-17 21:11
 

Re: Apache Mod Rewrite Referer based mit Wildcards ? Wie ?

Post by fire »

steht doch alles da ...

RewriteRule ^(.*)$ http://www.anderer_server.tld/irgendwas.php [R,L]

oder habe ivh dein problem nicht verstanden?
hotzi
Posts: 197
Joined: 2004-04-14 09:04
Location: Bayern, Sulzemoos
Contact:
 

Re: Apache Mod Rewrite Referer based mit Wildcards ? Wie ?

Post by hotzi »

Hallo,

im Code hab ichs ja hinbekommen,

Code: Select all

RewriteEngine on

RewriteCond %{HTTP_REFERER} ^http://blalaslala.ltd
RewriteCond %{REQUEST_URI} ^.+thumb.+$ 
RewriteRule ^.+.(gif|GIF|jpg|JPG|jpeg|JPEG)$ http://blupp/gehpfui.jpg [redirect,last
Mal als Beispiel... Dann trifft das auf alle URLs zu, die http://blalaslala.ltd oder was hinten dran haben.

Aber das ganze Will ich in die Datei auslagern, und da hab ichs bisher aus mir unbekannten Gründen nicht hinbekommen, evt ists auch nur ein trivialer Fehler gewesen... Er nimmt dann immer nur den exakten String, ich kann so keine ganze Domain verarbeiten...

Danke und Gruß

Hotzi
fire
Posts: 13
Joined: 2003-05-17 21:11
 

Re: Apache Mod Rewrite Referer based mit Wildcards ? Wie ?

Post by fire »

wenn ich es richtig verstehe, hast du das auf deinem Server aber deine .htaccess wird nicht richtig verarbeitet?


habe schnell ein beispiel zum testen erzeugt:

http://www.dstosch.de/test

wird auf google umgeleitet auch
http://www.dstosch.de/test/blabla
http://www.dstosch.de/test/irgendwas.php
... also alles, was nach "/test" kommt wird umgeleitet

Code: Select all

Options +FollowSymLinks
Options -Indexes
RewriteEngine on

# beispiel
RewriteCond %{HTTP_HOST} ^www.dstosch.de$ 
RewriteCond %{REQUEST_URI} /test
RewriteRule ^(.*)$ http://www.google.de [R,L] 


die ganze domain umleiten ...

Code: Select all

Options +FollowSymLinks
Options -Indexes
RewriteEngine on

# beispiel
RewriteCond %{HTTP_HOST} ^www.dstosch.de$ 
RewriteRule ^(.*)$ http://www.google.de [R,L] 
hotzi
Posts: 197
Joined: 2004-04-14 09:04
Location: Bayern, Sulzemoos
Contact:
 

Re: Apache Mod Rewrite Referer based mit Wildcards ? Wie ?

Post by hotzi »

Ich will den Kram nicht in die htaccess oder sonstwo hinschreiben (da funktionierts ja, sondern wie in dem Beispiel oben eine Datei deflector.map, oder wie auch immer die heissen mag, verwenden... Und da bin ich zu doof das so zu parsen, dass dann alle möglichen Referer, beginnend mit http://www.blalajslsajd.tld zutreffen.


Danke und Gruß

Hotzi
Post Reply