Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
Koly007

Weiterleitung externer Links mittels redirect.php

Recommended Posts

Hallo!

Edit: Sorry falsche Kategorie erwischt :(

Also ich möchte dass bei externen Links im Forum diese Datei vor der Url steht bzw geöffnet wird damit die URL so aussieht: redirect.php?url=http://www.webseite.com:

<?php 


if(!empty($_GET['link'])){ 


header("HTTP/1.1 301 Moved Permanently"); 

header("Location:".$_GET['link'].""); 


}else{ 

echo 'Error'; 

} 


?>
Also wenn jemand im Forum einen Link öffnet wird die URL mit einer 301 weiterleitung durchgeführt :) In meinem TunSty-Forum so:
http://www.tunsty.net/forum/redirect.php?http://www.webseite.com

Bitte helft mir .. wäre echt wichtig!

Danke!

Edited by Koly007

Share this post


Link to post

Sicherlich nicht die schönste Lösung, aber hab' das bei mir seit ner Weile bereits ohne Probleme so bei mir am Laufen (das oben von Dir funzt nur solange, bis jemand mal selber eine Seite mit PHP-Übergabecodes verlinkt -> hatte das am Anfang auch erst so einfach, bis mir später auffiel, dass das so nicht reicht):

redirect.php

<?php

if (isset($_GET['url']))

	{

	$key = "";

	$val = "";

	$Ziel = "";

	while (list ($key, $val) = each ($_GET))

	{

  if ($key == "url") $Ziel = $val;

  else $Ziel .= "&".$key."=".$val;

  $$key = $val;

	}

	header("Location: ".$Ziel,true,303);

	header("Connection: close");

	exit();

	}

	else

	{

	header("Location: http://redirect.neksus.de/",true,301);

	header("Connection: close");

	exit();

	}

?>
Musst höchstens noch die 303 durch eine 301 ersetzen, wenn Du das möchtest. Der korrekte Weiterleitungscode wäre allerdings der 303 "See Other". Für den Code im IPB selber: welche Version nutzt Du? 2.0 oder 2.1? ### Hier grad mal meine Rohfassung, so wie ich mir das als quick'n'dirty für mich selbst aufgeschrieben hatte... man will ja bei Updates wissen, was man da verändert hat. ;)
### post.parser.php ###

bzw. ####### class_bbcode und class_bbcode_core #########


suche


return $url['st'] . "<a href='".$url['html']."' target='_blank'>".$show."</a>" . $url['end'];


ersetze durch



   if ( strpos($url['html'],'www.neksus.de') or strpos($url['html'],'www.schwarzromantiker.de') )

   { return $url['st'] . "<a href='".$url['html']."' >".$show."</a>" . $url['end'];  }

   else

   { return $url['st'] . "<a href='http://www.neksus.de/redirect.php?url=".$url['html']."' target='_blank'><img src=\"style_images/<#IMG_DIR#>/atb_exlink.gif\" width=\"10\" height=\"10\" border=\"0\" alt=\"\" />&nbsp;".$show."</a>" . $url['end']; }


suche:


	function unconvert($txt="", $code=1, $html=0) {


  $txt = preg_replace( "#<!--emo&(.+?)-->.+?<!--endemo-->#", "\\1" , $txt );


danach hinzufügen:


  $txt = str_replace("<img src=\"style_images/<#IMG_DIR#>/atb_exlink.gif\" width=\"10\" height=\"10\" border=\"0\" alt=\"\" />&nbsp;","" , $txt);

  $txt = str_replace("http://www.neksus.de/redirect.php?url=","" , $txt);



  

Zu der Angabe der Dateien oben: ersteres war 2.0, zweiteres 2.1 -> bei der Version sind 2 Dateien betroffen. Also im Sinn von, was in einer an den notwendigen Änderungsstellen auffindbar war, stand in der anderen nicht und umgekehrt.

Mit bißchen mitdenken sollte Dir das so hoffentlich bereits möglich sein einzubauen.

Bei Fragen ansonsten... fragen. :D

Achso, das mit diesem ext_link.gif: hatte ich nur noch gleich mit eingebaut gehabt, weil ich es so an sich ganz gern hab', wenn externe Links gleich als solche immer erkennbar markiert sind. In dem Fall z.B. ist das so eine kleine Pfeilchengrafik. ;)

Edited by OrcaDesign

Share this post


Link to post

... bei 2.1 gibt's damit jetzt allerdings Probleme im Zusammenhang mit dem RTE-Editor, wie ich heute erst gesehen habe.

Warum immer. Diese Pfeilchengraphik wird da nicht zurückübersetzt, sondern verdoppelt, dreifacht, ... sich von Editierung zu Editierung.

Das gleiche vermutlich mit dem zusätzlichen redirect.php...

Lösung dafür habe ich bislang leider noch keine gefunden, nachdem mir die Aufrufweise von dem Editor weiter Rätsel aufgibt... :angry:

Edited by OrcaDesign

Share this post


Link to post

Vielen Dank erstmals für die schnelle Antwort :) und was ist wenn man die Pfeilchengrafik weglässt funktioniert dann alles einwandfrei und wie wäre dann der Einbaucode für das 2.1 (hab endlich eine Lizenz :) )

Vielen Dank erstmal bin so froh dass sich wenigstens einer mit sowas beschäftigt :)

EDIT:

Hab jetzt nur die redirect.php erstellt im Hauptverzeichnis von tunsty.net und in der post_parser das abgeändert:

suche:


function unconvert($txt="", $code=1, $html=0) {


 $txt = preg_replace( "#<!--emo&(.+?)-->.+?<!--endemo-->#", "\\1" , $txt );


danach hinzufügen:


 $txt = str_replace("<img src=\"style_images/<#IMG_DIR#>/atb_exlink.gif\" width=\"10\" height=\"10\" border=\"0\" alt=\"\" />&nbsp;","" , $txt);

 $txt = str_replace("http://www.tunsty.net/redirect.php?url=","" , $txt);

Funktioniert aber nicht :(

Edited by Koly007

Share this post


Link to post

... wichtiger ist ersteinmal auch der erste Teil... den, den Du jetzt eingebaut hast, ist ja "nur" die Zurück-Routine, um's wieder zu entfernen, z.B. beim Editieren. ;)

Hab inzwischen übrigens den Fehler mit den Bilderchen im RTE-Editor beseitigen können. Bislang ist mir seitdem kein weiterer Fehler mehr aufgefallen, ich denke, das sollte entsprechend jetzt nun so gehen:

###### sources/classes/bbcode/class_bbcode_core.php ###

suche in der function function regex_build_url


return $url['st'] . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];


ersetze durch


  if ( strpos($url['html'],'www.neksus.de') or strpos($url['html'],'www.schwarzromantiker.de') )

   { return $url['st'] . "<a href=\"".$url['html']."\" >".$show."</a>" . $url['end'];  }

   else

   { return $url['st'] . "<a href=\"http://redirect.neksus.de/redirect.php?url=".$url['html']."\" target=\"_blank\"><img src=\"style_images/<#IMG_DIR#>/atb_exlink.gif\" width=\"10\" height=\"10\" border=\"0\" alt=\"\" />&nbsp;".$show."</a>" . $url['end']; }


#### sources/classes/bbcode/class_bbcode.php###

suche in der function unconvert


	$txt = preg_replace( "#<!--emo&(.+?)-->.+?<!--endemo-->#", "\\1" , $txt );


danach hinzufügen:


  $txt = str_replace("<img src=\"style_images/<#IMG_DIR#>/atb_exlink.gif\" width=\"10\" height=\"10\" border=\"0\" alt=\"\" />&nbsp;","" , $txt);

  $txt = str_replace("http://redirect.neksus.de/redirect.php?url=","" , $txt);



### sources/classes/editor/class_editor.php ###

suche in function _make_rtf_safe


  $t = trim($t);


danach hinzufügen


  $t = str_replace("<img src=\"style_images/<#IMG_DIR#>/atb_exlink.gif\" width=\"10\" height=\"10\" border=\"0\" alt=\"\" />&nbsp;","" , $t);

  $t = str_replace("http://redirect.neksus.de/redirect.php?url=","" , $t);

  $t = str_replace(" target=\"_blank\"","" , $t);

Natürlich müssteste sinngemäß die URLs (etc) anpassen für Dich. :-)

Edited by OrcaDesign

Share this post


Link to post

Okay werde es am Abend versuchen und bescheid geben.. :)

Der Friendly URL mod wird auch bald für das 2.1 rauskommen dann hab ich wieder fast alles was ich brauche :)

Share this post


Link to post

Ganz einfach: nenn es eine Art Anonymisierer... oder Referrer-Entfernungsmöglichkeit. Die Stelle, von der ursprünglich aus verlinkt wurde, ist so nicht mehr direkt nachvollziehbar. -> besonders effektiv, wenn man hier auf Anonymisierer-Redirects eines der diversen Anbieter zurückgreift... dann taucht als Referrer-Link sowas auf wie anonym.web.de oder was immer.

Über Sinn und Unsinn mag man diskutieren können... den Punkt sehe ich nicht allzu eng, wobei ich wiederum finde, dass jeder selber entscheiden können sollte, was er von sich preisgeben will und was nicht (-> Referrer = Nutzerverhalten verfolgen können)

Oder auch, um Spammern wenigstens so nicht einen Backlink (Google-PR) verschafft zu haben, denn: der Link zeigt ja denn von nun an auf ein einheitliches redirect.php, fällt damit für das Ranking somit weg.

Um letzteres ging es mir mal... wenn man seine Augen offenhält und auf Blogs die Auswirkungen von Spambots sieht, entzieht man dem Ganzen halt einfach zumindest das Ziel (das verhindert zwar nicht einen Spambot, aber es verhindert, dass dieser davon dann einen Nutzen hatte - was irgendwann dafür sorgt, dass diese Art, um auf ein besseres Ranking zu kommen, verschwindet hoffentlich).

Zum anderen wollte ich bei mir im Board für ein einheitliches Design zum Rest der Site sorgen... interne Links ohne besonderen Hinweis, externe Links eben entsprechend andersartig markiert.

-> das gehört zur Usability meines Erachtens. Und hat auch jetzt weniger mit dem redirect an sich zu tun, ok... :D

Edited by OrcaDesign

Share this post


Link to post

Bei mir funktioniert das irgendwie nicht so richtig.. muss ich bei den ganzen Adressen tunsty.net oder tunsty.net/forum/ angeben? Ist ein offizielles Release auf invisionize mit Installationsanleitung geplant?

Viele Grüße

Edited by Koly007

Share this post


Link to post

In der Hauptsache müsstest Du diese URLs an Deine Bedürfnisse anpassen:

www.neksus.de bzw. www.schwarzromantiker.de

... die beiden gelten bei Verlinkungen auf meinem Board als interne und bekommen daher auch kein redirect verpasst.

und http://redirect.neksus.de/redirect.php

... das ist denn logischerweise die URL von der redirect.php

Analog dazu je nachdem noch style_images/<#IMG_DIR#>/atb_exlink.gif -> das wäre die genannte Graphik, die bei mir externe Links verpasst bekommen.

Veröffentlichung auf Invisionize hatte ich ehrlich gesagt nicht vorgehabt, da ich kein Interesse daran habe, da jetzt noch ein schickes Menü für zu basteln... bzw. keine Ahnung davon habe, wie das als Menüpunkt gebastelt werden könte und mich da jetzt auch nicht weiter reinlesen möchte.

Dafür ändert sich's IPB selbst einfach zu schnell in letzter Zeit... und meine Freizeit ist derzeit recht eingeschränkt (-> weniger das Coden an sich, sondern eben die nötige Neu-Einlesezeit).

Wenn wer anders aber möchte, gerne... persönlicher Ruhm ist mir egal. B)

###

" Bei mir funktioniert das irgendwie nicht so richtig."

Bißchen mehr Butter bei de Fisch, dann könnt ich allerdings vielleicht sogar auch etwas treffender helfen... :teehee:

Sofern es an den Zeichen selbst liegt (... hatte da manchmal auch schonmal Probleme durch die Zeichencodierungen und abkopierten Texten aus Foren): im Anhang ist's als txt. Da hätte ich ohnehin mal früher drauf kommen können.

Edited by OrcaDesign

Share this post


Link to post

Meinst Du generell, also bei alten Beiträgen - oder auch bei neuen Beiträgen?

Dass die alten sich nicht von alleine umcodieren, ist logisch... da müsstest Du ein Rebuild der Beiträge starten. ;)

Share this post


Link to post

ohhh man *kopfschüttel* jetzt klappt alles

Und ich dreh fast durch warum ich nichts finde was ich falsche gemacht habe :)

Vielen vielen Dank!

Edited by Koly007

Share this post


Link to post

So ich habe jetzt mal mein board geupdated und da ich mal das ipb 1.3 von invisionboard.nl genützt habe habe ich noch immer einige niederländische sachen gehabt.. deshalb habe ich alles neu raufgeladen..

so weit so gut..

Ich wollte diesen mod anschliessend wieder einbauen bekomme ihn aber einfach nicht mehr zum laufen.. keine Ahnung warum.. deshalb habe ich ihn wieder ausgebaut (alle daten wo ich veränderungen vorgenommen habe neu raufgeladen, redirect.php gelöscht) anschliessend habe ich noch ein Rebuild der Beiträge gemacht aber trotzdem ist in nicht allen Threads das www.tunsty.net/redirect.php? weg.. und einige links funkionieren halt nicht

Was kann ich machen damit das wieder komplett entfernt ist?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×