Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Weiterleitung nur bei externen Links, nicht bei internen?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
theiml
PostRank 2
PostRank 2
Beiträge: 43
Registriert: 27.08.2007, 11:39

Beitrag von theiml » 02.10.2008, 17:25

Hallo Ihr!

Gibt es, bzw. kennt jemand eine Möglichkeit, wie man alle externen Links auf eine bestimmte Unterseite zur Hauptseite weiterleiten kann, ohne dass der eigene, interne Link ebenfalls umgeleitet wird?

Geht sowas mit .htacces? Und wenn ja, wie?

Vielen Dank für eure Antworten

Anzeige von ABAKUS

von Anzeige von ABAKUS »


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

wolli
PostRank 9
PostRank 9
Beiträge: 1395
Registriert: 01.01.2006, 18:48

Beitrag von wolli » 02.10.2008, 18:15

Das klingt etwas wirr.
Vielleicht erklärst du mal den Zweck deines Vorhabens

theiml
PostRank 2
PostRank 2
Beiträge: 43
Registriert: 27.08.2007, 11:39

Beitrag von theiml » 02.10.2008, 18:22

OK nochmal etwas präziser:

Ich habe eine Unterseite, die nur von meiner Homepage aufgerufen werden darf.

Wenn sie jedoch durch einen externen Link aufgerufen wird (z.B. Suchmaschine, oder andere Webseiten), soll sofort automatisch auf meine Startseite weitergeleitet werden.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 02.10.2008, 19:13

theiml hat geschrieben:Gibt es, bzw. kennt jemand eine Möglichkeit, wie man alle externen Links auf eine bestimmte Unterseite zur Hauptseite weiterleiten kann, ohne dass der eigene, interne Link ebenfalls umgeleitet wird?
Browser liefern in aller Regel die URL der verweisenden Seite bei jeder entsprechenden Anfrage im Protokollkopf mit. Auf diese Angaben kannst du mittels RewriteCond und der Variablen %{HTTP_xy} zugreifen:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http://example\.com
RewriteRule ^deine_interne_seite\.html$ https://example.com/ [R=302,L]

Die .htaccess legst du in das entsprechende Verzeichnis; ist es ein anderes als das Wurzelverzeichnis /, müsstest du RewriteBase entsprechend anpassen (sowie natürlich die anderen Angaben).

IMHO wäre allerdings ein Forbidden als Antwort passender ([F,L] statt [R=302,L]), ließe sich auch über die Startseite ausgeben, sofern sie ein Skript ist.

theiml
PostRank 2
PostRank 2
Beiträge: 43
Registriert: 27.08.2007, 11:39

Beitrag von theiml » 03.10.2008, 10:07

Hm irgendwie krieg ichs nicht gebacken. Kenn mich nicht gut aus mit Rewrite.


Ich habe den Code jetzt folgendermaßen angepasst:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^https://meine-hauptseite.de
RewriteRule ^meine_unterseite\.html$ https://meine-hauptseite.de/ [R=302,L]

Da ichs nicht ganz verstanden habe, habe ich auch die Variante ausprobiert:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^https://externe-seite.de
RewriteRule ^meine_unterseite\.html$ https://externe-seite.de/ [R=302,L]


In keinem der beiden Fälle ist irgendetwas passiert.

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 03.10.2008, 10:39

theiml hat geschrieben:RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^https://meine-hauptseite.de
RewriteRule ^meine_unterseite\.html$ httр://meine-hauptseite.de/ [R=302,L]
Das wäre richtig. RewriteCond prüft, ob die verweisende URL nicht (!) mit httр://meine-hauptseite.de (https://meine-hauptseite.de) beginnt (^), anders ausgedrückt: ob von einer externen Seite verwiesen wird. Sollte dem so sein, leitet RewriteRule beim Aufruf von /meine_unterseite.html auf deine Startseite httр://meine-hauptseite.de/ weiter.

Stellt sich die Frage, warum's nicht will. Setze mal ein Nummernzeichen (#) vor die RewriteCond-Zeile; du kommentierst sie damit aus, so dass jetzt jeder Aufruf von /meine_unterseite.html zur Startseite weitergeleitet werden sollte.
Ist dem nicht so, füge noch eine Zeile blablub ein. Dann muss ein Serverfehler ausgespuckt werden („500 Internal Server Error“), weil der Apache blablub als Option natürlich nicht kennt. Kommt der 500er, funktioniert zumindest die .htaccess. Kommt er nicht, wird die .htaccess gar nicht beachtet.

Dann müsste man weitersehen. Bitte Ergebnisse genau kommentieren und deine verwendete(n) .htaccess zitieren.

theiml
PostRank 2
PostRank 2
Beiträge: 43
Registriert: 27.08.2007, 11:39

Beitrag von theiml » 03.10.2008, 11:34

Hi!

Also wenn ich RewriteCond auskommentiere, wird astrein auf die Hauptseite weitergeleitet.

Die .htaccess wird also nicht ignoriert und der Fehler muss meines Erachtens an der RewriteCond-Zeile liegen.

Hier nochmal der verwendete Code:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^https://www.meine-seite.de
RewriteRule ^unterseite\.html$ https://meine-seite.de/ [R=302,L]

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 03.10.2008, 12:16

theiml hat geschrieben:Also wenn ich RewriteCond auskommentiere, wird astrein auf die Hauptseite weitergeleitet.
Das ist doch schon mal gut.

Der Code funktioniert hier, deshalb stelle ich jetzt erstmal eine ganz blöde Frage:
In keinem der beiden Fälle ist irgendetwas passiert.
Wenn du die Seite von deiner aus ansteuerst, soll ja auch nichts passieren. Nur, wenn der Browser in Referer: eine andere (oder gar keine) Domain meldet, wird die Weiterleitung aktiv. Hast du also diese Seite auch wirklich über einen Verweis von einem anderen Server aus aufgerufen?

Mamphil
PostRank 5
PostRank 5
Beiträge: 325
Registriert: 10.06.2008, 22:44

Beitrag von Mamphil » 03.10.2008, 12:28

Hi,

wie wäre es mit ein wenig Escaping?

Code: Alles auswählen

RewriteCond %{HTTP_REFERER} !^http:\/\/www\.meine-seite\.de 
Und was machst du mit leeren Referrern, wie zum Beispiel Suchmaschinen-Clients?

Mamphil

theiml
PostRank 2
PostRank 2
Beiträge: 43
Registriert: 27.08.2007, 11:39

Beitrag von theiml » 03.10.2008, 13:09

Hallo,
also ich habe einen Link von einer anderen URL gesetzt. Die kommt jedoch vom gleichen Hoster und dem gleichen Account. Also wohl auch vom gleichen Server.

Mit dem Tipp von Mamphil scheint es jedoch jetzt zu klappen.

Der Grund für die ganze Aktion war, dass ich von meiner Haupseite ein Infofenster per Javascript öffnen lassen will.
Das Infofenster enthält nur Informationen, aber nicht das Template und somit auch nicht die Navigation meiner Homepage.

Jedoch könnte das Infofenster für z.B. Konkurrenten sehr interessant sein.
Mit dem .htacces will ich verhindern, dass eine andere Homepage einen Link direkt auf das Infofenster setzt, ohne dass der User erkennt, dass es sich um meine Homepage handelt.
So wird der User auf die Seite geleitet, von der das Fenster abrufbar ist.

Wenn jetzt jemand über eine Suchmaschine an die URL kommt und diese direkt eintippt, ist das nicht so wild denke ich.


BTW: Wie is das dann mit den Suchmaschinen-Bots? haben die dann überhaupt Zugriff auf das Infofenster?

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 03.10.2008, 15:04

theiml hat geschrieben:Mit dem Tipp von Mamphil scheint es jedoch jetzt zu klappen.
Wundert mich ein wenig, zumal es hier auch ohne Masken geht. Könntest du mal folgende zwei Varianten ausprobieren?

!^http:\/\/www.meine-seite.de
!^http://www\.meine-seite\.de
Der Grund für die ganze Aktion war, dass ich von meiner Haupseite ein Infofenster per Javascript öffnen lassen will.
[…]
BTW: Wie is das dann mit den Suchmaschinen-Bots? haben die dann überhaupt Zugriff auf das Infofenster?
Mal abgesehen davon, dass du das Fenster per Javascript ansteuerst, kein Bot Javascript ausführt und somit kein Bot von der URL erfahren wird, wird's momentan auch deshalb nichts werden, weil Suchmaschinenbots üblicherweise, genau wie beim direkten Eintippen der URL, keine verweisende URL übermitteln. Das lässt sich aber mit einem etwas geänderten URL-Muster beheben:

RewriteCond %{HTTP_REFERER} !^(http:\/\/www\.meine-seite\.de.*|)$

Dann müsstest du nur noch ein normales <a> mit der Info-URL fallenlassen oder die URL per Sitemap übermitteln, und dem Indizieren sollte nichts mehr im Wege stehen.

theiml
PostRank 2
PostRank 2
Beiträge: 43
Registriert: 27.08.2007, 11:39

Beitrag von theiml » 03.10.2008, 16:58

Hallo Mork vom Ork!
Alle deine neuen Varianten funktionieren ebenfalls.


Und nochwas zum indizieren:
Kann es sein, dass die Bots so einen Link verfolgen können?:

<a href="javascript:Vollbild('https://www.meine-seite.de/unterseite.html');">



Weil die unterseite.html ist bereits im Index und war meines erachtens auch immer nur so verlinkt.

Gruß, Thomas

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 03.10.2008, 17:37

theiml hat geschrieben:Alle deine neuen Varianten funktionieren ebenfalls.
Huch? Das heißt, die beiden neuen

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http:\/\/www.meine-seite.de
RewriteRule ^unterseite\.html$ https://meine-seite.de/ [R=302,L]

und

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http://www\.meine-seite\.de
RewriteRule ^unterseite\.html$ https://meine-seite.de/ [R=302,L]

arbeiten wie gewünscht, aber mein erster Versuch,

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^https://www.meine-seite.de
RewriteRule ^unterseite\.html$ https://meine-seite.de/ [R=302,L]

tut nix? Du siehst mich rätseln. Will ja nicht deine Zeit verschwenden, aber kannst du die letzte Version nochmals probieren? Denn wenn die beiden anderen funktionieren, muss die letzte es auch. Alles andere zerstört mein Weltbild ;)
Kann es sein, dass die Bots so einen Link verfolgen können?:

<a href="javascript:Vollbild('https://www.meine-seite.de/unterseite.html');">
Eigentlich nicht, da Javascript. Uneigentlich muss der Indexeintrag irgendwo hergekommen sein … :) Ich täte ihn trotzdem in <a href="https://www.meine-seite.de/unterseite.html" onclick="Vollbild('https://www.meine-seite.de/unterseite.html');"> ändern - wobei ich mich dunkel zu erinnern glaube, dass der GoogleBot <a> mit onclick auch vollständig ignoriert.

theiml
PostRank 2
PostRank 2
Beiträge: 43
Registriert: 27.08.2007, 11:39

Beitrag von theiml » 03.10.2008, 17:52

hi,

Hab jetz rausgefunden woran es lag.

Man muss die Seite immer erst mit F5 refreschen, damit die Änderung in der .htacess erkannt wird.

Jetzt hats auch mit der letzten Version funktioniert!

Danke für die Hilfe!

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 04.10.2008, 10:14

theiml hat geschrieben:Man muss die Seite immer erst mit F5 refreschen, damit die Änderung in der .htacess erkannt wird.

Jetzt hats auch mit der letzten Version funktioniert!
Danke, mein Weltbild ist wieder lotrecht ;)

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag