Seite 1 von 2

FB linkt: seite.htm?fb_action_ids= / wie 301 mit htaccess?

Verfasst: 31.07.2012, 16:32
von Rem
Wenn man zur Zeit den Facebook Likebutton drückt, verlinkt Facebook im Profil die URL der geliketen Seite mit einem Anhängsel ["?fb_action_ids="]

Bsp:
https://www.abakus-internet-marketing.d ... n_ref_map=[]

Frage: wie müsste die Rewrite-Weiterleitung aufgebaut sein, damit statt dem ganzen Rattenschwanz nur noch meine Seite eingeblendet wird? Als Condition sollte die Zeichenkette "fb_action_ids=" oder etwas ähnliches/sinnvolleres enthalten sein... [EDIT: = auf Vorhandensein überprüft werden]

Übrigens ist das Kuriose bei Facebook, das die Seite mit "?"-Anhängsel eigenständig geliket werden kann. Ich habe schon mal einen Bug-Report geschickt. Könnt Euch insofern da auch ins Zeug werfen.

Verfasst:
von

Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Verfasst: 31.07.2012, 16:41
von Synonym
Frage: wie müsste die Rewrite-Weiterleitung aufgebaut sein, damit statt dem ganzen Rattenschwanz nur noch meine Seite eingeblendet wird? Als Condition sollte die Zeichenkette "fb_action_ids=" oder etwas ähnliches/sinnvolleres enthalten sein...
Das heißt nun was? Du willst die ganzen Parameter weg haben oder willst Du das fb_actions_ids behalten? Falls ersteres. Gibt es sonst irgendwelche URLs mit Parametern, die aber gewollt sind?

Verfasst: 31.07.2012, 16:48
von Rem
Ja: Alles muss weg! Da will ich nichts behalten!

Verfasst:
von

Verfasst: 31.07.2012, 16:49
von Synonym
Also, alles weg, egal was....

Code: Alles auswählen

RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(.*) /$1? [R=301,L]
Wenn QUERY_STRING nicht ! leer ^$
Alles (.*) weiterleiten R=301 an sich selbst $1, aber immer ohne Querystring ?

Verfasst: 31.07.2012, 16:51
von Rem
Ja, aber wenn möglich in der Cond, dass "fb_..." enthalten ist. Ansonsten kollidiert das mit Parametern woanders (???)
Danke für die Erklärungen in Fett! Das ist cool!

Verfasst: 31.07.2012, 16:53
von Synonym
Ok, das hatte ich oben ja noch eineditiert. Das ist dann ein ganz anderer Punkt. Parameter können also möglich sein, nur der da von FB soll weg. Wird schwieriger, kommt nun ja auch auf die Reihenfolge an.

Verfasst: 31.07.2012, 16:54
von Synonym
RewriteCond %{QUERY_STRING} fb_actions_ids
Bla blub

Hier würde sie also nur greifen, wenn fb_actions_ids in Querystring vorkommt. Problem. Noch immer würde alles entfernt werden... Also weiter zusammenbauen.

Verfasst: 31.07.2012, 16:56
von Rem
Es ist übel...

Ja, Du hast recht. Im Prinzip könnte zweimal ? ? vorkommen...

Verfasst: 31.07.2012, 16:58
von Melegrian

Code: Alles auswählen

#RewriteCond %{QUERY_STRING} ^(.*)fb_(.*)$ [NC]
#RewriteRule ^(.*)$ /$1? [L,R=301]

Verfasst: 31.07.2012, 16:58
von Synonym
So sollte es gehen:
RewriteCond %{QUERY_STRING} (.*)fb_action_ids
RewriteRule ^(.*) /$1?%1 [R=301,L]
Jetzt schmeist er alles raus, was inkl. fb_action_ids ist bzw. danach kommt. Was davor kommt wird an die Zielurl wieder angehängt.

Verfasst: 31.07.2012, 17:01
von Rem
Super!

Danke an Melegrian und auch für die Vorarbeit an Synonym.

Ich denke, das können viele gebrauchen, da das völlig unnütze FB-"Feature" relativ neu ist.

Verfasst: 31.07.2012, 17:01
von Synonym
Ja, Du hast recht. Im Prinzip könnte zweimal ? ? vorkommen...
Das wäre kein Problem, der Apache nimmt immer das Erste.

Ich meinte das so. Wie oben das Beipiel wird nun alles inkl. dem fb_action_ids gelöscht, also alles was dahinter kommt. Wenn Deine normalen und gebrauchten Parameter davor kommen ist das also kein Problem. Kommen die aber nach dem FB-Zeug, dann sind die mit weg. Einfach daher, da wir nicht festlegen können wo das FB-Zeug aufhört. Wir wissen ja nur, wo es anfängt.

Verfasst: 31.07.2012, 17:03
von Rem
Meine Parameter kommen gottseidank immer vorher...

Ja, das FB-Zeug. Ich will das definitiv nicht genauer analysieren. Vielleicht ist das für andere von Interesse. Mein Interesse ist eher, dass jeder User genau die richtige URL hat. Sonst habe ich plötzlich noch einkommende Links mit den ganzen Parametern.

Einfach nur grauslich ;-)

Verfasst: 31.07.2012, 17:04
von Synonym
@Melegrian
Deine Cond funktioniert nicht bzw. die Rule, da Du mit dem ? ja dennoch den kompletten Querystring löschst. Wenn schon oben per (.*) auf den Teil davor zugreifen und dann mit der Referenz %1 weiterverarbeiten ;)

Dein Code würde bei domain.de?meine=var&fb_mist_hinten_dran das "meine=var" mit entfernen.

Verfasst: 31.07.2012, 17:11
von Rem
Stimmt. Nach dem ersten Test muss ich hier zustimmen... ;-)

Aber es gibt ja bereits alternativen. :wink:

Und die funktionieren :idea:

Insofern danke für die schnelle Hilfe! Das ist echt toll!
Damit haben wir einigen Code beisammen für unterschiedliche Fragestellungen und Projekte.

Mir wäre aber wirklich lieber, FB würde sowas Grausliges unterlassen... Aber was soll man tun...