Python 选择性索引子域

Python 选择性索引子域,python,seo,indexing,robots.txt,googlebot,Python,Seo,Indexing,Robots.txt,Googlebot,我正在开发Web应用程序,它允许用户依次创建自己的Web应用程序。对于我的应用程序创建的每个新webapp,我分配一个新子域。 e、 g.subdomain1.xyzdomain.com、subdomain2.xyzdomain.com等 所有这些Web应用程序都存储在数据库中,并由python脚本(例如 default\u script.py)保存在/var/www/中。 到目前为止,我已经使用robots.txt阻止了搜索引擎对目录(/var/www/)的索引。这实际上阻止了我所有脚本的索引

我正在开发Web应用程序,它允许用户依次创建自己的Web应用程序。对于我的应用程序创建的每个新webapp,我分配一个新子域。 e、 g.subdomain1.xyzdomain.com、subdomain2.xyzdomain.com等

所有这些Web应用程序都存储在数据库中,并由python脚本(例如 default\u script.py)保存在
/var/www/
中。 到目前为止,我已经使用robots.txt阻止了搜索引擎对目录(
/var/www/
)的索引。这实际上阻止了我所有脚本的索引,包括default\u script.py以及使用该default\u script.py脚本为多个Web应用程序提供的内容

但是现在我希望这些子域中的一些应该被索引

搜索了一段时间后,我找到了一种方法,通过在robots.txt中显式指定脚本来阻止脚本的索引

但我仍然怀疑以下几点:

  • 将阻止mydefault\u script.py索引也将阻止从default\u script.py提供的所有内容的索引。如果是,那么如果我让它索引,那么default_script.py也会开始显示在搜索结果中

  • 如何允许对某些子域进行选择性索引

    例如:索引subdomain1.xyzdomain.com,但不是subdomain2.xyzdomain.com


  • 不。搜索引擎不应该关心是什么脚本生成了页面。只要webapps生成的页面被编入索引,你就可以了

    第二个问题:


    您应该为每个子域创建一个单独的robots.txt。也就是说,当从特定子域获取robots.txt时,返回仅属于该子域的robots.txt文件。因此,如果您希望对子域进行索引,则该robots文件允许所有。如果不想将其编入索引,请将robots文件设为deny all。

    为了总结讨论

    这就是我的
    .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
    

    谢谢@Rafael,这回答了我的第一个问题。你们对第二个有什么想法吗?那个么,你们的意思是,对于子域,robots.txt将从数据库而不是从/var/www/提供服务吗。因为在我的例子中,我看到robots.txt是从/var/www/而不是数据库中获取的,我用它来阻止我的脚本文件。您可以为每个子域创建单独的文件目录,每个子域都包含robots.txt的专门版本。或者您可以将robots.txt的feteches服务器端重写为subdomain.robots.txt。或者你也可以按照你的建议从数据库中为他们服务。