Sowohl Magento als auch TYPO3 sind in der Lage sog. Multisites bzw. Multishops zu betreiben. Dabei wird mit einer Installation innerhalb eines Webspaces eine beliebige Anzahl unterschiedlicher Domains bzw. Shops oder Websites verwaltet. Häufig möchte man dann für diese unterschiedlichen Domains dann jedoch unterschiedliche robots.txt Dateien übergeben, damit man Suchdiensten (wie z.B. google oder bing) bezielt die gewünschten Informationen zur Indexierung zukommen lassen kann.
Da es sich bei dem obigen Sachverhalt um den selben Webspace handelt, kann man jetzt nicht beliebig häufig die robots.txt ablegen, da google & co exakt nur nach DIESEM Dateinamen im Hauptverzeichnis der Domain - dem sog. DocumentRoot - nachschaut.
Sowohl TYPO3 als auch Magento verfügen von Haus aus über eine sog. .htaccess Datei, welche üblicherweise im Hauptverzeichnis des Webspace liegt. Hierüber werden i.d.R. die sprechenden URLs des Shops bzw. der Website und eine Menge andere Dinge organisiert. Mit dieser Datei kann man jedoch auch Umleitungen bauen, um so der Suchmaschine einen andere Datei (mit einem anderen Namen) als robots.txt zu "verkaufen" und aber einfach auf ein Unterverzeichnis verweisen.
Beispiel:
RewriteCond %{HTTP_HOST} ^.*?domain1\.com$ [NC]
RewriteRule ^robots\.txt$ robots/domain1/robots.txt
RewriteCond %{HTTP_HOST} ^.*?domain2\.de$ [NC]
RewriteRule ^robots\.txt$ robots/domain2/robots.txt
RewriteCond %{HTTP_HOST} ^.*?domain3\.de$ [NC]
RewriteRule ^robots\.txt$ robots/domain3/robots.txt
RewriteCond %{HTTP_HOST} ^.*?domain4\.de$ [NC]
RewriteRule ^robots\.txt$ robots/domain4/robots.txt
Im obigen Beispiel haben wir nun eine Abfrage für die unterschiedlichen Domains (domain1,...,domain4) gemacht. Sobald nun also ein Crawler einer Suchmaschine auf die Domain kommt und die robots.txt lesen möchte, verweisen wir die Anfrage auf das jeweilige Unterverzeichnis und die darin enthaltene Datei - robots/domain1/robots.txt
Frage: Wohin soll ich denn den Code Snippet in meine .htaccess Datei einfügen?
Idealerweise nach RewriteEngine on und vor RewriteRule .* index.php [L]