Bestimmte Redirects unterbinden
Robert Bienert
- webserver
Moin!
Nachdem die Adressen zu zwei meiner Weblogs auf einer Seite für Linklutsch^WSEOs gelandet sind, habe ich doch des Öfteren Besucher der Art „tolle Informationen hier (P.S.: Dies ist meine Webseite, Danke für den Link.)“ Neben dem erhöhten Administrationsaufwand (Kommentare löschen) probiere ich momentan Links von dieser mittels mod_rewrite zu unterbinden/kreativ zu verändern:
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_REFERER} ^SEO_LISTE
RewriteRule ^.* log.php?y=2007&m=11&url=diese-seite-hat-nur-einen-niedrigen-pagerank
</IfModule>
Wie man einen 403er auslösen kann, habe ich im Apache-Handbuch gefunden, aber auch nicht schlecht wäre z.B. „Payment Requirement“ mit einer netten „Fehlerseite“. Kann man denn mit mod_rewrite auch einen Statuscode setzen?
Schönes Wochenende,
Robert Bienert
Moin!
Kann man denn mit mod_rewrite auch einen Statuscode setzen?
Ja, kann man. Lies die Doku.
- Sven Rautenberg
Hi,
Kann man denn mit mod_rewrite auch einen Statuscode setzen?
Ja, kann man. Lies die Doku.
das wäre aber ein 3xx-Status, oder?
Cheatah
Moin!
Kann man denn mit mod_rewrite auch einen Statuscode setzen?
Ja, kann man. Lies die Doku.das wäre aber ein 3xx-Status, oder?
Man kann auch 4xx-Stati setzen - R-Flag mit Codeangabe. Allerdings erscheint es mir schlauer, den Status im Skript auszugeben, nicht im Rewriting.
- Sven Rautenberg
Hi,
Man kann auch 4xx-Stati setzen - R-Flag mit Codeangabe.
gerade noch mal nachgelesen:
"'redirect|R [=code]' (force redirect)
[...]
If the status code is outside the redirect range (300-399), then the Substitution string is dropped and rewriting is stopped as if the L flag was used."
Mit anderen Worten: Ein 4xx geht und führt dazu, dass der Redirect serverintern stattfindet. Das hatte ich falsch in Erinnerung.
Allerdings erscheint es mir schlauer, den Status im Skript auszugeben, nicht im Rewriting.
Sowieso :-)
Cheatah
Moin!
Kann man denn mit mod_rewrite auch einen Statuscode setzen?
Ja, kann man. Lies die Doku.
Dort heißt es für RewriteRule:
• redirect|R [=code]' (force redirect)
Prefix Substitution with http://thishost[:thisport]/ (which makes the new URL a URI) to force a external redirection. […] If you want to use other response codes in the range 300-400 just specify them as a number or use one of the following symbolic names: temp (default), permanent, seeother.
Man kann auch 4xx-Stati setzen - R-Flag mit Codeangabe.
4xx ist also mit „300-400“ gemeint?
Allerdings erscheint es mir schlauer, den Status im Skript auszugeben, nicht im Rewriting.
Das habe ich jetzt auch getan, erscheint mir logischer.
Schönes Wochenende,
Robert
Hallo Sven,
Ja, kann man. Lies die Doku.
Ich nehme an Du kennst < http://forum.de.selfhtml.org/hilfe/charta.htm#tipps-fuer-antwortende>.
Insbesondere "Zu generelle Antworten helfen niemanden weiter. Antwortpostings der Art 'Lies Dir erstmal das Kapitel CSS durch' [...] sind zu vermeiden.".
Auch wenn Robert als regelmäßiger Forumsbesucher solche Antworten wohl wegstecken kann.
Grüße
Daniel
Wie man einen 403er auslösen kann, habe ich im Apache-Handbuch gefunden, aber auch nicht schlecht wäre z.B. „Payment Requirement“ mit einer netten „Fehlerseite“.
402 ist zwar reserviert, aber noch kein offizieller Bestandteil von HTTP/1.1. Der 403er tut's doch auch.
Kann man denn mit mod_rewrite auch einen Statuscode setzen?
Via R-Flag, das aber für 3xx vorgesehen ist. Weitere Möglichkeiten mit mod_rewrite sind mir nicht bekannt, wäre m.E. auch ungewöhnlich, da ja eigentlich nur die URL umgeschrieben werden soll.
Siechfred
Hallo Siechfred!
Via R-Flag, das aber für 3xx vorgesehen ist. Weitere Möglichkeiten mit mod_rewrite sind mir nicht bekannt, wäre m.E. auch ungewöhnlich, da ja eigentlich nur die URL umgeschrieben werden soll.
Damit erreiche ich auch einen 403, weiß allerdings nicht mehr, wo ich das her habe:
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http.*casino.*$
RewriteRule ^.* - [F]
Viele Grüße aus Frankfurt/Main,
Patrick
Moin!
Damit erreiche ich auch einen 403, weiß allerdings nicht mehr, wo ich das her habe:
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http.*casino.*$
RewriteRule ^.* - [F]
Steht das F vielleicht für „failed“?
Schönes Wochenende,
Robert
Hallo Robert!
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_REFERER} ^SEO_LISTE
RewriteRule ^.* log.php?y=2007&m=11&url=diese-seite-hat-nur-einen-niedrigen-pagerank
</IfModule>
>
> mit einer netten „Fehlerseite“.
Alternativ zu [so einer ähnlichen Seite](http://www.atomic-eggs.com/z_testdir/ttt_7.shtml) umleiten ;)
~~~apache
RewriteCond %{HTTP_REFERER} ^http.*buch.*eintrag.*$ [NC]
RewriteRule ^(.*)selfugb|wae_8.*$ http://www.atomic-eggs.com/z_testdir/ttt_7.shtml
Viele Grüße aus Frankfurt/Main,
Patrick
Hallo Patrick!
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_REFERER} ^SEO_LISTE
RewriteRule ^.* log.php?y=2007&m=11&url=diese-seite-hat-nur-einen-niedrigen-pagerank
</IfModule>
> >
> > mit einer netten „Fehlerseite“.
>
> Alternativ zu [so einer ähnlichen Seite](http://www.atomic-eggs.com/z_testdir/ttt_7.shtml) umleiten ;)
Ja, das ist doch auch eine coole Sache, vielleicht sogar besser als meine bisherige „Fehlerseite“, die lediglich über den niedrigen Pagerank (d.h. keine Awareness) aufklärt. Ein bisschen martialisch darf's schon sein >:->
> ~~~apache
> RewriteCond %{HTTP_REFERER} ^http.*buch.*eintrag.*$ [NC]
> RewriteRule ^(.*)selfugb|wae_8.*$ http://www.atomic-eggs.com/z_testdir/ttt_7.shtml
>
Das ^^^ werde ich mir auch merken, kann immer sinnvoll sein.
Vielen Dank und ein schönes Wochenende,
Robert