本文介绍了robots.txt 的正则表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试设置我的 robots.txt,但我不确定正则表达式.

I am trying to set up my robots.txt, but I am not sure about the regexps.

我有四个不同的页面,均以三种不同的语言提供.我想我可以使用正则表达式,而不是将每个页面列出 3 次.

I've got four different pages all available in three different languages. Instead of listing each page times 3, I figured I could use a regexp.

nav.aspx
page.aspx/changelang(可能附加了查询字符串,例如?toLang=fr".)
mypage.aspx?id
login.aspx/logoff(=12346?...等 - 每次都不同)

nav.aspx
page.aspx/changelang (might have a query string attached such as "?toLang=fr".)
mypage.aspx?id and
login.aspx/logoff (=12346?... etc - different each time)

!所有四种语言的 3 种不同语言,例如:

! All four in 3 different languages, e.g:

www.example.com/es/nav.aspx
www.example.com/it/nav.aspx
www.example.com/fr/nav.aspx

现在,我的问题是:以下正则表达式是否正确?

Now, my question is: Is the following regexp correct?

User-Agent: *
Disallow: /*nav\.aspx$
Disallow: /*page.aspx/changelang
Disallow: /*mypage\.aspx?id
Disallow: /*login\.aspx\/logoff

谢谢

推荐答案

robots.txt 中不允许使用正则表达式,但 Googlebot(和其他一些机器人)可以理解一些简单的模式匹配:

Regular Expressions are not allowed in robots.txt, but Googlebot (and some other robots) can understands some simple pattern matching:

您的 robots.txt 应如下所示:

Your robots.txt should look like this:

User-agent: *
Disallow: /*nav.aspx$
Disallow: /*page.aspx/changelang
Disallow: /*mypage.aspx?id
Disallow: /*login.aspx/logoff

User-agent 指令对小写 a 有效.您不必转义 . 或 `/'.

User-agent directive is valid with lower case a. You don't have to escape . or `/'.

您可以在此处阅读更多相关信息:使用 robots.txt 文件阻止或删除页面

You can read more about this here: Block or remove pages using a robots.txt file

这篇关于robots.txt 的正则表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-15 08:21