robots.txt 的正则表达式

标签 regex robots.txt

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

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

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

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

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

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

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

谢谢

最佳答案

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

您的 robots.txt 应如下所示:

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

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

您可以在这里阅读更多相关信息:Block or remove pages using a robots.txt file

关于robots.txt 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6306763/

相关文章:

javascript - js 中的否定lookbefore

javascript - React router v4 提供静态文件 (robot.txt)

seo - 我的项目根目录中的 Robots.txt

web-crawler - robots.txt 中的通配符

regex - 在 Notepad++ 中使用查找和替换时引用正则表达式

javascript - 正则表达式匹配本地 Markdown 链接

javascript - 使用javascript替换特定位置的所有空格

javascript - 是的正则表达式匹配器

Java正则表达式解析/robots.txt

node.js - 为什么每次 Express GET 都会请求 robots.txt?