Python 选择性索引子域
我正在开发Web应用程序,它允许用户依次创建自己的Web应用程序。对于我的应用程序创建的每个新webapp,我分配一个新子域。 e、 g.subdomain1.xyzdomain.com、subdomain2.xyzdomain.com等 所有这些Web应用程序都存储在数据库中,并由python脚本(例如 default\u script.py)保存在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/)的索引。这实际上阻止了我所有脚本的索引
/var/www/
中。
到目前为止,我已经使用robots.txt阻止了搜索引擎对目录(/var/www/
)的索引。这实际上阻止了我所有脚本的索引,包括default\u script.py以及使用该default\u script.py脚本为多个Web应用程序提供的内容
但是现在我希望这些子域中的一些应该被索引
搜索了一段时间后,我找到了一种方法,通过在robots.txt中显式指定脚本来阻止脚本的索引
但我仍然怀疑以下几点:
不。搜索引擎不应该关心是什么脚本生成了页面。只要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。或者你也可以按照你的建议从数据库中为他们服务。