小编Sam*_*mmy的帖子

Robots.txt - 多个用户代理的抓取延迟的正确格式是什么?

下面是一个示例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)

format robots.txt web-crawler agents

18
推荐指数
1
解决办法
3万
查看次数

URL 中的 %20 现在导致 ERROR 403 FORBIDDEN 错误

这不是一个重复的问题。

首先,我有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 系统。

关于如何解决这个问题有什么想法吗?

感谢您的时间。

错误 403 - 禁止结果

php apache .htaccess drupal-6 http-status-code-403

7
推荐指数
1
解决办法
2360
查看次数

需要修改MySQL查询以不允许重复项进入表

首先,我是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)

mysql duplicates

5
推荐指数
1
解决办法
4687
查看次数

如何使用 preg_replace() 去除字符串中多余的星号

我知道如何使用 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 时需要用正斜杠转义的所有字符?

php strip preg-replace

4
推荐指数
1
解决办法
5406
查看次数

PHP - 如何随机化电话号码的最后 4 位数字

如何随机化电话号码的最后 4 位数字?

鉴于:

$phone = '000-000-0000';
Run Code Online (Sandbox Code Playgroud)

结果将是:

$phone = '000-000-1943';
Run Code Online (Sandbox Code Playgroud)

其中1943是一个随机数

这可以使用诸如 preg 之类的东西在单行命令中完成吗?

或其他一些单行命令?

php random numbers phone-number

-1
推荐指数
1
解决办法
1145
查看次数