Després de provar diferents alternatives, he trobat que aquesta sí que funciona. Es tracta d'insertar aquest paràgraf als fitxers de configuració d'Apache (~/invenio/etc/apache/invenio-apache-vhost.conf i ~/invenio/etc/apache/invenio-apache-vhost-ssl.conf):
<Location /search>
SetEnvIfNoCase User-Agent "Baiduspider" bad_bots
Order allow,deny
Allow from all
Deny from env=bad_bots
</Location>
El que fa és aplicar el mateix criteri que havíem fet via el fitxer robots.txt, però per regla d'Apache. Es tracta que quan Apache es troba una petició de cerca (una URL amb /search), mira si el nom del client té Baiduspider. I, si el té, el posa a la llista bad_bots i li barra el pas. Aquesta regla és un refregit de diferents pàgines i receptes que he estat consultant i provant:
He pogut comprovar que funciona amb el wget, simulant ser un robot de Baidu. En primer lloc, baixar-se un document o fitxer normal, funciona sense problemes:
$ wget --user-agent="Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" "http://ddd.uab.cat/favicon.ico"
--2015-06-16 07:41:38-- http://ddd.uab.cat/favicon.ico
S'està resolent ddd.uab.cat (ddd.uab.cat)... 158.109.2.236
S'està connectant a ddd.uab.cat (ddd.uab.cat)|158.109.2.236|:80...connectat.
HTTP: s'ha enviat la petició, s'està esperant una resposta...200 OK
Mida: 2962 (2,9K) [image/x-icon]
S'està desant a: «favicon.ico»
100%[========================================================================================>] 2.962 --.-K/s en 0,001s
2015-06-16 07:41:38 (2,62 MB/s) - s'ha desat «favicon.ico» [2962/2962]
En canvi, una cerca ja no:
$ wget --user-agent="Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" "http://ddd.uab.cat/search?f=author&p=Kant"
--2015-06-16 07:42:35-- http://ddd.uab.cat/search?f=author&p=Kant
S'està resolent ddd.uab.cat (ddd.uab.cat)... 158.109.2.236
S'està connectant a ddd.uab.cat (ddd.uab.cat)|158.109.2.236|:80...connectat.
HTTP: s'ha enviat la petició, s'està esperant una resposta...403 Forbidden
2015-06-16 07:42:35 ERROR: 403 Forbidden.
Si trec o canvio Baiduspider per una altra cosa, torna a funcionar:
wget --user-agent="Mozilla/5.0 (compatible; BaiduXspider/2.0; +http://www.baidu.com/search/spider.html)" "http://ddd.uab.cat/search?f=author&p=Kant"
--2015-06-16 07:43:25-- http://ddd.uab.cat/search?f=author&p=Kant
S'està resolent ddd.uab.cat (ddd.uab.cat)... 158.109.2.236
S'està connectant a ddd.uab.cat (ddd.uab.cat)|158.109.2.236|:80...connectat.
HTTP: s'ha enviat la petició, s'està esperant una resposta...200 OK
Mida: no especificada [text/html]
S'està desant a: «search»
QED.