下面是一个示例robots.txt文件,允许多个用户代理为每个用户代理提供多个爬网延迟.抓取延迟值仅用于说明目的,并且在真实的robots.txt文件中会有所不同.
我已经在网上搜索了正确的答案,但找不到一个.有太多混合的建议,我不知道哪个是正确/正确的方法.
问题:
(1)每个用户代理都可以拥有自己的抓取延迟吗?(我假设是的)
(2)在Allow/Dissallow行之前或之后,您在哪里为每个用户代理放置了爬行延迟行?
(3)每个用户代理组之间是否必须有空白.
参考文献:
http://www.seopt.com/2013/01/robots-text-file/
http://help.yandex.com/webmaster/?id=1113851#1113858
基本上,我希望找出最终robots.txt文件应该如何使用下面示例中的值.
提前致谢.
# Allow only major search spiders
User-agent: Mediapartners-Google
Disallow:
Crawl-delay: 11
User-agent: Googlebot
Disallow:
Crawl-delay: 12
User-agent: Adsbot-Google
Disallow:
Crawl-delay: 13
User-agent: Googlebot-Image
Disallow:
Crawl-delay: 14
User-agent: Googlebot-Mobile
Disallow:
Crawl-delay: 15
User-agent: MSNBot
Disallow:
Crawl-delay: 16
User-agent: bingbot
Disallow:
Crawl-delay: 17
User-agent: Slurp
Disallow:
Crawl-delay: 18
User-agent: Yahoo! Slurp
Disallow:
Crawl-delay: 19
# Block all other spiders
User-agent: *
Disallow: /
# Block …
Run Code Online (Sandbox Code Playgroud) 这不是一个重复的问题。
首先,我有3个“相同”的Drupal 6.20 CMS桌面类型网站,使用MySQL数据库5.7.23和PHP 5.6.40。
所有这 3 个网站都已存在多年,以前从未遇到过此问题。
最近,内置搜索的 3 个网站中的 2 个(站点 1)http://sam308.com/和(站点 2)http://closefocusresearch.com/也遇到了完全相同的问题。
问题是:
例如,在http://closefocusresearch.com/上,当我使用网站上的内置搜索表单,并使用两个词的术语(例如不带引号的“防弹衣”)或使用任何多词搜索词时包含空格,搜索结果会显示消息 ERROR 403 - FORBIDDEN。不过,下面的搜索结果网址没有改变。
该页面的搜索结果网址为:
http://closefocusresearch.com/search/node/body%20armor
Run Code Online (Sandbox Code Playgroud)
在出现此问题之前,上述搜索结果 url 将显示正确的搜索结果。
现在, url 中的%20导致错误 403 - FORBIDDEN 结果,如下图所示。
由于防弹衣这两个词之间的空格已被替换为%20,我现在遇到了 403 错误。仅当搜索词包含空格时才会发生这种情况,否则工作正常。
附带说明一下,如果手动将%20替换为%2520,将url 中的%替换为%25 ,如下所示,那么我会得到正确的搜索结果。
http://closefocusresearch.com/search/node/body%2520armor
Run Code Online (Sandbox Code Playgroud)
如果您想亲自测试,请使用主页上的站点搜索框。
我花了 3 天的时间试图在互联网和 drupal.org 上查找此行为的原因,但找不到解决方案。所有 3 个网站上的所有文件权限都是相同的。
我也尝试从我的托管公司获得支持,但他们无法提供任何帮助。
我还尝试修改 .htaccess 文件来纠正此行为,但没有成功。我不是编写 RewriteRule 规则的专家。
是否是最近的 Apache 更新错误导致了此问题?注意:我无法访问共享托管计划上的 Apache 系统。
关于如何解决这个问题有什么想法吗?
感谢您的时间。
首先,我是MySQL的新手,我试着去学习它.
我有一个在页面加载上运行的脚本,它检索联合类型数据并将其添加到MySQL数据库表中.
我想要做的就是将找到的新数据添加到数据库表中,而不添加从上一页加载中找到的重复项.
我的数据库表如下:
// Creates a Database Table only if the Table does not already exist
mysql_query("CREATE TABLE IF NOT EXISTS $TableName(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
Field_2 varchar(255) NOT NULL default '',
Post_Date int(11) NOT NULL default '0',
Field_4 varchar(10) NOT NULL default '',
Field_5 varchar(12) NOT NULL default '',
Field_6 longtext NOT NULL default '',
Field_7 longtext NOT NULL default '',
Field_8 longtext NOT NULL default '') ") or die(mysql_error()
);
Run Code Online (Sandbox Code Playgroud)
有一个索引如下所示:
Action Keyname …
Run Code Online (Sandbox Code Playgroud) 我知道如何使用 preg_replace() 去除多余的空格、破折号和句点,但我需要知道下面哪种格式对于去除字符串中的多余星号是正确的。
这些代码行用于去除多余的空格、破折号和句点:
// Strips out extra spaces
$string = preg_replace('/\s\s+/', ' ',$string);
// Strips out extra dashes
$string = preg_replace('/-+/', '-', $string);
// Strips out extra periods
$string = preg_replace('/\.+/', '.', $string);
Run Code Online (Sandbox Code Playgroud)
以下哪项对于去除多余的星号是正确的?
// Version 1: Strips out extra asterisks
$string = preg_replace('/\*+/', '*', $string);
// Version 2: Strips out extra asterisks
$string = preg_replace('/*+/', '*', $string);
Run Code Online (Sandbox Code Playgroud)
先感谢您。
顺便说一句,是否有一个列表显示了在使用 PHP 时需要用正斜杠转义的所有字符?
如何随机化电话号码的最后 4 位数字?
鉴于:
$phone = '000-000-0000';
Run Code Online (Sandbox Code Playgroud)
结果将是:
$phone = '000-000-1943';
Run Code Online (Sandbox Code Playgroud)
其中1943是一个随机数
这可以使用诸如 preg 之类的东西在单行命令中完成吗?
或其他一些单行命令?
php ×3
.htaccess ×1
agents ×1
apache ×1
drupal-6 ×1
duplicates ×1
format ×1
mysql ×1
numbers ×1
phone-number ×1
preg-replace ×1
random ×1
robots.txt ×1
strip ×1
web-crawler ×1