2012-02-19 20 views
-1

我只想在GoogleBot或BingBot請求時動態地構建站點地圖,然後將其保存到sitemap.xml,以及其他用戶請求時只顯示已經創建的站點地圖。 XML。這個怎麼做 ?配置appache在google-bot請求站點地圖時執行php

編輯

如何成爲sitemap.php列爲sitemap.xml?

+0

你的問題是有關 - 是關於如何構建站點地圖,或者如何檢測搜索引擎機器人? – 2012-02-19 14:39:02

回答

1

如果您想將文件保存爲.xml並執行它作爲一個PHP文件,你需要這些方針的東西添加到您的.htaccess文件:

AddType x-mapp-php5 .php .xml 
+0

我想只處理一些指定的XML文件作爲PHP,而不是所有的XML文件。可能嗎 ? – Sourav 2012-02-23 03:38:11

+0

XML文件仍將以XML文件的形式工作 - 但如果在那裏有任何PHP,那麼這將工作兩個。可以將其視爲對現有XML文件功能的提升。 – BenOfTheNorth 2012-02-23 11:10:35

2

應該通過htaccess的或服務器端腳本來完成

的htaccess: redirect all bots using htaccess apache

PHP:像

//returns 1 if the user agent is a bot 
function is_bot($user_agent) 
{ 
    //if no user agent is supplied then assume it's a bot 
    if($user_agent == "") 
    return 1; 

    //array of bot strings to check for 
    $bot_strings = Array( "google",  "bot", 
      "yahoo",  "spider", 
      "archiver", "curl", 
      "python",  "nambu", 
      "twitt",  "perl", 
      "sphere",  "PEAR", 
      "java",  "wordpress", 
      "radian",  "crawl", 
      "yandex",  "eventbox", 
      "monitor", "mechanize", 
      "facebookexternal" 
     ); 
    foreach($bot_strings as $bot) 
    { 
    if(strpos($user_agent,$bot) !== false) 
    { return 1; } 
    } 

    return 0; 
} 

Atention這強烈地受到谷歌勸阻。我只發佈這個'因爲有時它可能是有用的。

編輯 它總是令我驚訝的是重新發明車輪的能力。如果有人想生成站點地圖,請看看: http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators

還有一些付費服務。

+0

我會補充一點,注意sitemap.xml文件是最好的生成和存儲在網絡服務器上的靜態文件。當然,PHP可以用來生成它,而不是在每次從谷歌機器人訪問期間實時。 – quickshiftin 2012-02-20 06:31:42