Apache: Dynamische robots.txt mit .htaccess und PHP
Manchmal kann es ganz nützlich sein zu wissen wie man die robots.txt (oder auch jedwede andere Datei) auf dem Apache dynamisch anlegt, zum Beispiel im Zusammenhang mit der Multisite-Funktion von Habari, mehreren Domains und entsprechenden Sitemaps.
In meinem Fall musste die Domain der Sitemap-Angabe in der robots.txt dynamisiert werden, da mehrere Domains die gleiche Installation nutzen. Hierzu gibt es mehrere Möglichkeiten. Der Einfachheit halber habe ich mich für die folgende Lösung entschieden:
In der .htaccess-Datei wird folgendes ergänzt (Alternativ auch mittels der Serverconfig systemweit) um dem Server geläufig zu machen, dass eine Datei als Script einer bestimmten Sprache ausgeführt werden soll (in diesem Fall PHP):
<Files "robots.txt">
SetHandler application/x-httpd-php
</Files>
Nun wird die robots.txt-Datei mit PHP interpretiert.
In der robots.txt muss nun am Anfang zuerst der Header so geändert werden, dass die Datei tatsächlich als Plaintext (oder dem gewünschten Format) ausgegeben wird:
<?php
Header('Content-type: text/plain');
?>
Ab hier kann nun beliebig mit PHP-Scripting verfahren werden. Zur Dynamisierung der Sitemap-URL habe ich dann einfach nur noch den folgenden Codeschnipsel eingefügt:
<?php
echo 'Sitemap: http://'.$_SERVER['HTTP_HOST'].'/sitemap.xml';
?>









Feed
Newsletter













Keine Kommentare
Schreibe den ersten Kommentar!