1. 主页
  2. 文档
  3. SEO实战
  4. Robots.txt知识点
  5. Disallow: /index.php/及Disallow: /index.php的区别

Disallow: /index.php/及Disallow: /index.php的区别

大家好,我是飞小优,在Google search console中查询网页收录索引结果时经常会看到一些未索引的结果,时不时会报错404 状态码。针对这些不想要爬虫抓取 及索引的”无良地址“如何处理呢?

答案就是利用Robots文件进行屏蔽。因此在操作之前先得弄清楚其结构含义及具体使用书写规范,只有这样才能让你的网站更加合规。

Disallow: /index.php/及Disallow: /index.php含义

Disallow: /index.php/及Disallow: /index.php的区别

认识 /index.php/和/index.php

/index.php/ 通常是一个网页的入口文件,在PHP编程中特别常见。它通常包含网站的前端代码,可能还包含一些基本的业务逻辑。

/index.php通常是一个默认的首页文件,当访问一个目录时,如果未指定具体的文件名,很多服务器会默认寻找并加载名为index的文件,通常是index.php 。它是一个PHP脚本文件,可以包含HTML代码以及PHP代码,用于处理请求和展示网页内容。

因此二者完全是两个不同的概念。一个是目录结构一个是默认网页首页文件,也可说按照所属关系原理,简单理解前者包含后者。

示例详解

书写屏蔽规则

Robots文件书写规则

根据上图提供的信息,Disallow: /index.php/ 是用来禁止搜索引擎爬虫访问以 /index.php/ 开头的网页或资源。什么意思呢?就是说,这个网站目录下有很多其他的链接组合(因为从.php 扩展名看是动态网页)。举个列子:

https://你的域名/index.php/a.html

https://你的域名/index.php/其他目录/a.html

https://你的域名/index.php/.../a.html

在robots.txt 文件中,这一行代码会告诉搜索引擎机器人不要抓取和索引任何以 /index.php/ 开头的URL。

按上述介绍如果有一系列以 /index.php?category=/index.php?page= 开头的页面,并且不希望搜索引擎索引这些页面的内容,那么使用 Disallow: /index.php/ 就能实现这个目的。

然而,请注意,Disallow: /index.php/ 并不会禁止爬虫访问和索引以 /index.php 开头但后面没有斜杠的URL(如 /index.php )。如果也希望禁止这类URL,需要使用以下规则:

Disallow: /*.php$

这将禁止所有以.php结尾的URL,无论是 /index.php 还是其他任何PHP脚本文件。

最后,如果想要完全禁止爬虫访问网站,应该使用 User-agent: * 这样的规则,它会针对所有搜索引擎爬虫。结合 Disallow: / 这条规则,将会禁止爬虫访问网站的所有内容。这是禁止搜索引擎索引整个网站的常见方法。

以上就是关于Disallow: /index.php/Disallow: /index.php的操作介绍。如有更多具体问题,欢迎留言询问。

问题延伸

Disallow: /*.php$和Disallow:/index.php/互斥吗

在robots.txt 文件中,Disallow: /*.php$Disallow: /index.php$ 不是互斥的。这两行分别表示禁止爬虫访问以.php结尾的所有文件和禁止爬虫访问以/index.php 为路径的页面。它们各自独立地指定了不允许搜索引擎爬虫访问的网页资源。
Disallow: /*.php$ 是指禁止所有以.php为扩展名的文件,而 Disallow: /index.php$ 是专门禁止根目录下的index.php 文件(当以这个路径访问时)。如果网站上有其他.php文件但不是以/index.php 形式出现的,那么这些文件将不会受到第二条规则的影响,依然可以被搜索引擎爬虫访问。
总结来说,这两条规则可以同时存在于robots.txt 文件中,并且会根据其指定的路径和扩展名来分别应用。如果希望禁止搜索引擎爬虫访问所有的.php文件,包括/index.php ,那么只需使用第一条规则(Disallow: /*.php$)即可。

标签

我们要如何帮助您?

发表回复

Please Login to Comment