Orlando: 2x robots.txt fuer 2 Domains bei identischen Dateien moeglich?

Hi, liebe Leute

Zunächst: das Thema ist etwas kryptisch formuliert, sorry.

Das Problem: Meine Site ist unter zwei Domains zu erreichen. Einmal unter meiner eigenen Domain http://www.skop.net/ und ebenso unter einer Sub-Domain meines Hosters http://web98.metaxa.loswebos.de/ Zweiteres will ich vermeiden.

Der Inhalt ist absolut identisch, das heisst, jede einzelne Seite ist unter zwei Domains zu erreichen. Irgendwie wurde diese Hoster-Domain 'aufgegoogelt' und indiziert. Beispiel: http://www.google.com/search?q=skop+loswebos

Nun wollte ich Google 'den Metaxa' versagen, was am einfachsten über robots.txt funktioniert - klar. Doch auch dieses Helferlein ist nur einmal vorhanden... Ich würde Suchmaschinen nun beim Spidern von web98.metaxa.usw. aber gerne andere Robot-Vorschriften bieten, als beim Spidern von skop.net

Hat jemand eine Idee, wie ich das anstellen könnte? Habe leider keine Möglichkeit, den Apachen meines Hosters entsprechend umzuerziehen :-( SSI, Perl, PHP usw. sind aber verfügbar.

Danke & LG Orlando

PS: Ich habe auf allen Seiten etwas eingebunden, was mir unsäglich faulem Stück gleichzeitig bequemes lokales Testen ermöglicht:
<base target="_top" href="http://<!--#echo var="SERVER_NAME"-->/">

Wenn mir jemand verraten könnte, wie ich meinen lokalen Apachen überrede, auch eine absolute Angabe der Domain irgendwie auf meine Platte umzubiegen, wäre das auch eine praktikable Lösung ;-)

PPS: Irgendwie glaube ich dem Forum-Script nicht, dass das Thema "2 x robots.txt für zwei Domains bei identischen Dateien möglich?" länger als 64 Zeichen sein soll. Werden bei der Auswertung Sonderzeichen maskiert und dann die Länge gemessen?

  1. Hat jemand eine Idee, wie ich das anstellen könnte? Habe leider keine Möglichkeit, den Apachen meines Hosters entsprechend umzuerziehen :-( SSI, Perl, PHP usw. sind aber verfügbar.

    Du müßtest die robots.txt dynamisch erzeugen, je nachdem, welche Domain angesprochen wird. Sowas sollte in Perl oder PHP kein Thema sein. ;)

    Das Problem ist dabei in der Tat, den Apache davon zu überzeugen, daß "robots.txt" eine Skriptdatei ist, und kein Text...

    Aber Google weiß alles: Die Suche nach '"dynamic robots.txt"' ergab genau EINEN Treffer, und zwar diesen hier:
    http://www.leekillough.com/robots.html

    Zusammenfassung: Um auf diverse User-Agents von Suchmaschinen reagieren zu können, nimmt man mod_rewrite, um verschiedene Versionen der robots.txt auszuliefern. Und das geht natürlich auch, um auf verschiedene Versionen von Domainnamen zu reagieren. :)

    mod_rewrite funktioniert auch mit .htaccess, sofern freigeschaltet. Andere Möglichkeiten, den Apache-Zugriff von robots.txt auf ein Skript umzulenken, gibt es AFAIK nicht. Also entweder gehts, oder es geht nicht.

    - Sven Rautenberg

    1. mod_rewrite funktioniert auch mit .htaccess, sofern freigeschaltet. Andere Möglichkeiten, den Apache-Zugriff von robots.txt auf ein Skript umzulenken, gibt es AFAIK nicht.

      http://httpd.apache.org/docs/mod/core.html#errordocument (404)
      && http://httpd.apache.org/docs/mod/mod_cgi.html
      -> http://httpd.apache.org/docs/custom-error.html

    2. Hi, Sven

      [...]

      Du müßtest die robots.txt dynamisch erzeugen, je nachdem, welche Domain angesprochen wird. Sowas sollte in Perl oder PHP kein Thema sein. ;)

      Das wäre selbst für mich kein Problem :-)

      Das Problem ist dabei in der Tat, den Apache davon zu überzeugen, daß "robots.txt" eine Skriptdatei ist, und kein Text...

      Ja, _das_ ist mein Problem.

      Aber Google weiß alles: Die Suche nach '"dynamic robots.txt"' ergab genau EINEN Treffer, und zwar diesen hier:
      http://www.leekillough.com/robots.html

      Gut zu wissen, wonach man suchen muss ;-)

      Zusammenfassung: Um auf diverse User-Agents von Suchmaschinen reagieren zu können, nimmt man mod_rewrite, um verschiedene Versionen der robots.txt auszuliefern. Und das geht natürlich auch, um auf verschiedene Versionen von Domainnamen zu reagieren. :)

      Um mod_rewrite verwenden zu können, muss ich aber Zugriff auf httpd.conf haben, oder?

      mod_rewrite funktioniert auch mit .htaccess, sofern freigeschaltet. Andere Möglichkeiten, den Apache-Zugriff von robots.txt auf ein Skript umzulenken, gibt es AFAIK nicht. Also entweder gehts, oder es geht nicht.

      Das Problem ist, per FTP habe ich keinen Zugriff auf httpd.conf und .htaccess (d.h. ich sehe sie nicht). Es ist verlockend, diese einfach mal zu erstellen und hochzuladen. Andererseits möchte ich den Apachen meines Hosters nicht unbedingt verwirren, zumal die Server-Konfiguration bestimmt nicht meine Stärke ist ;-) Ich habe einige Verzeichnisse mit Passwort geschützt, das funktioniert auch. Doch - wie gesagt - die .htaccess bekomme ich nirgends zu Gesicht, das geht alles nur über die Admin-Oberfläche.

      Könntest du mir einen Tip geben, wie ich das gefahrlos anpacken kann? An solchen Sachen pfusche ich nur ungern herum.

      Wenn es dazu keine 'sichere' Vorgangsweise gibt, probiere ich es lieber mit if-Abfragen bei meinem base-href-SSI-Tag und/oder JavaScript-Umleiteitung. Ich bezweifle aber, ob sich Google davon beeindrucken lässt...

      Danke jedenfalls für den einleuchtenden Ansatz!

      LG Orlando

  2. Hallo Orlando!

    Nun wollte ich Google 'den Metaxa' versagen, was am einfachsten über robots.txt funktioniert - klar. Doch auch dieses Helferlein ist nur einmal vorhanden... Ich würde Suchmaschinen nun beim Spidern von web98.metaxa.usw. aber gerne andere Robot-Vorschriften bieten, als beim Spidern von skop.net

    1. robots.txt per PHP erzeugen lassen. Dazu
      AddType application/x-httpd-php .txt
    (Wenn du irgendwelche .txt Dateien als Text haben willst musst du in den ensprechenden Verzeichnissen den Typ wieder zurückkonfigurieren.)

    2. robots.txt ist eine PHP-Datei, die entscheidet welche robots wirklich geliefert werden soll:
    <?
      header("Content-type: text/plain");
      if(getenv($HTTP_HOST)=="web98.metaxa.loswebos.de")
        readfile("robots_1.txt") or die("Datei nicht gefunden");
      else
        readfile("robots_2.txt") or die("Datei nicht gefunden");
    ?>

    Gruss,
     Carsten

    1. Hi, Carsten, Sven & Linksetzer

      1. robots.txt per PHP erzeugen lassen. Dazu
          AddType application/x-httpd-php .txt

      Das habe ich ausprobiert. Beim Upload von .htaccess erhalte ich jedoch '550. Permission denied'. Da muss ich wohl ein Wörtchen mit meinem Hoster reden...

      Leider erledigen sich damit alle vorgeschlagenen Lösungsmöglichkeiten bis auf Weiteres :-(

      Trotzdem _Danke_ für eure Vorschläge!
      LG Orlando

  3. Hi, liebe Leute

    Das Problem mit der Indizierung unter der anderen Domain habe ich jetzt folgendermaßen gelöst:

    <meta name="robots" content="index,follow"> habe ich durch
    <!--#exec cgi="/cgi-bin/robots/robots.pl" --> ersetzt.

    Das Script sieht so aus:

    #!/usr/bin/perl -w

    use strict;
    use CGI::Carp qw(fatalsToBrowser);

    print "Content-type: text/html\r\n\r\n";

    if ( $ENV{SERVER_NAME} eq "www.skop.net" ) {
      print "<meta name="robots" content="index,follow">";
    } else {
      print "<meta name="robots" content="noindex,nofollow">";
    }

    =====

    Das ist vielleicht nicht die eleganteste Lösung, da ich alle Seiten anpassen muss, aber sie funktioniert. Gleichzeitig verschwindet die Site auch ohne 'www' aus den Suchmaschinen, was ebenso gewünscht war.

    BTW: Ich glaube nämlich, dass meine Site zu dem Zeitpunkt aus vielen Suchmaschinen verbannt wurde, als unter mehreren (Sub)Domains die gleichen Inhalte verfügbar waren.

    Danke nochmals!
    LG Orlando