2012-08-06 58 views
0

我正在研究Web應用程序,它允許用戶依次創建自己的Web應用程序。對於由我的應用程序創建的每個新Webapp,請指定一個新子域。 例如subdomain1.xyzdomain.com,subdomain2.xyzdomain.com等選擇性索引子域

所有這些Webapps是一存儲在數據庫和Python腳本(比如 default_script.py)保持在/var/www/供應。 到目前爲止,我已經使用robots.txt阻止了目錄(/var/www/)的搜索引擎索引。這基本上阻止了我所有腳本的索引,包括default_script.py以及使用default_script.py腳本爲多個webapps提供的內容。

但現在我希望這些子域中的一些應該被索引。

之後搜索,而我能夠在的robots.txt

明確specifing他們想出一個辦法來阻止我的腳本的索引,但我仍然懷疑如下:

  1. 將阻止我的default_script.py免受索引也會阻止從default_script.py提供的所有內容的索引編制。如果是,那麼如果我讓它索引,也會在搜索結果中顯示default_script.py

  2. 我該如何允許選擇一些子域的索引。

    例如:指數subdomain1.xyzdomain.com但不是subdomain2.xyzdomain.com

回答

1

號搜索引擎不應該關心什麼腳本生成的頁面。只要webapps生成的頁面被索引,你應該沒問題。

第二個問題:

您應爲每個子域單獨的robots.txt。這是從特定子域獲取robots.txt時,僅返回與該sudomain相關的robots.txt文件。所以,如果你想要子域索引,有該機器人文件允許所有。如果你不想索引它,請讓機器人文件全部拒絕。

+0

感謝@Rafael,這個回答我的第一個問題。你對第二個有什麼想法嗎? – lalit 2012-08-06 13:46:11

+0

所以,你的意思是一個子域robots.txt將從數據庫提供,而不是從/ var/www /。因爲我在我的案例中看到robots.txt是從/ var/www /而非數據庫獲取的,我正在使用它來阻止我的腳本文件。 – lalit 2012-08-07 04:56:30

+1

有很多方法可以做到這一點。您可以爲每個包含特定版本的robots.txt的子域創建單獨的文件目錄。或者你可以在服務器端重寫robots.txt的feteches到subdomain.robots.txt。或者您可以按照您的建議從數據庫提供服務。 – 2012-08-07 18:02:43

0

所以總結討論,

這是我.htaccess文件的外觀,其保持在/var/www/目錄:

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/

# Rule Below allows using different robots.txt for subdomain1. 
RewriteCond  %{HTTP_HOST}   ^subdomain1.xyzdomain.com$ [NC] 
RewriteRule  ^(.*)robots.txt  subdomain1-robots.txt [L] 

# This rule is applicable on rest of subdomains and xyzdomain.com. 
RewriteRule  ^robots.txt$   robots.txt [L] 

# This rule allow serving content from default_script.py for files other then robots.txt 
RewriteRule  .      default_script.py