动态生成robots.txt的PHP程序
Jun 06, 2016 pm 08:11 PM以前尝试过《Drupal系列网站用robotstxt模块生成独立robots.txt》,可以实现多站点的每个站点都有不同的robots.txt,但缺点是需要逐个编辑,当子站数量多、修改次数多的时候,依然显得麻烦。 后来也尝试过程序动态生成robots.txt,但一直没有成功,昨天还尝
以前尝试过《Drupal系列网站用robotstxt模块生成独立robots.txt》,可以实现多站点的每个站点都有不同的robots.txt,但缺点是需要逐个编辑,当子站数量多、修改次数多的时候,依然显得麻烦。
后来也尝试过程序动态生成robots.txt,但一直没有成功,昨天还尝试了在自定义module中编写,但显示的内容包含在html.tpl.php, page.tpl.php等模板之中,也不行。
再多查了一些网上的资料并反复测试,终于是可以实现了,步骤如下:
- 删除原来的robots.txt;
- 编写一个robots.php,用PHP程序来动态输出内容;
- 修改.htaccess,让用户访问robots.txt的时候重定向到robots.php的输出内容。
一个robots.php的例子:
<?php header("Content-Type: text/plain"); $server_name=$_SERVER['SERVER_NAME']; $output=" # jamesqi 2013-8-29 16:27 # Add Start # Sitemap: http://$server_name/sitemap.xml Sitemap: http://$server_name/rss.xml User-agent:Mediapartners-Google Disallow: User-agent: * Allow: /sites/default/files/ Disallow: /boost_stats.php # Add End # Crawl-delay: 10 # Directories Disallow: /includes/ Disallow: /misc/ Disallow: /modules/ Disallow: /profiles/ Disallow: /scripts/ Disallow: /themes/ # Files Disallow: /CHANGELOG.txt Disallow: /cron.php Disallow: /INSTALL.mysql.txt Disallow: /INSTALL.pgsql.txt Disallow: /INSTALL.sqlite.txt Disallow: /install.php Disallow: /INSTALL.txt Disallow: /LICENSE.txt Disallow: /MAINTAINERS.txt Disallow: /update.php Disallow: /UPGRADE.txt Disallow: /xmlrpc.php # Paths (clean URLs) Disallow: /admin/ Disallow: /comment/reply/ Disallow: /filter/tips/ Disallow: /node/add/ Disallow: /search/ Disallow: /user/register/ Disallow: /user/password/ Disallow: /user/login/ Disallow: /user/logout/ # Paths (no clean URLs) Disallow: /?q=admin/ Disallow: /?q=comment/reply/ Disallow: /?q=filter/tips/ Disallow: /?q=node/add/ Disallow: /?q=search/ Disallow: /?q=user/password/ Disallow: /?q=user/register/ Disallow: /?q=user/login/ Disallow: /?q=user/logout/ "; print $output; ?>
在.htaccess中定义的ReWrite规则:
RewriteCond %{REQUEST_URI} ^\/robots\.txt$ RewriteRule ^(.*)$ /robots.php [L]
先在我的博客中测试成功,电脑版、手机版分别是不同的robots.txt内容:
- http://jamesqi.com/robots.txt
- http://m.jamesqi.com/robots.txt
其中的Sitemap提交给搜索引擎的是各自的sitemap地址。
以后可以把这个办法实现到各个系列的网站中去。
?
自由标签:
- robots.txt
- PHP
- 程序
原文地址:动态生成robots.txt的PHP程序, 感谢原作者分享。

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP
