【问题标题】:Liferay robots.txt new line disappearingLiferay robots.txt 新行消失
【发布时间】:2013-09-19 07:50:12
【问题描述】:

我试图从搜索引擎中排除我所有的 liferay 测试环境。 新行正在消失,并且 \r\n 或 \n 作为分隔符也不起作用。

这是我的机器人文件:

User-agent: *
Disallow: /

这是我的 web.xml sn-p:

<filter>
      <filter-name>RobotKiller</filter-name>
      <filter-class>com.robot.kill.KillARobot</filter-class>
</filter>

<filter-mapping>
      <filter-name>RobotKiller</filter-name>
      <url-pattern>/robots.txt</url-pattern>
</filter-mapping>

域/robots.txt:

User-agent: *Disallow: /

【问题讨论】:

  • 不确定您的换行问题,但您的 robots.txt 不允许不正确。应该是Disallow: / 防止所有爬取。
  • 你是对的,我在这个问题中写错了。编辑了问题
  • 我只使用 Liferay Web 界面。转到站点设置-> 机器人并输入两行。我不调整任何 web.xml 文本来执行此操作。这不适合你吗?
  • 它在 6.0.6 中是否可用,因为我似乎找不到它?谢谢

标签: seo liferay web.xml robots.txt


【解决方案1】:

我想我知道问题出在哪里。此文件上的Content-Type HTTP header 设置不正确。您将内容类型设置为text/html,而它应该设置为text/plain

当您在浏览器中查看文件时,它会将其解释为 HTML,它将新行视为空格。您应该能够使用浏览器的查看源代码功能来查看其格式是否正确。

robots.txt 文件可能适用于搜索机器人,即使 Content-Type 标头不正确,但最好不要冒险。

【讨论】:

  • 我不认为这是问题所在,我使用 wget 获取文件并用 nano 和 vi 打开它,它也丢失了新行。另外,当我查看页面源代码时,我得到的是:User-agent: *Disallow: / 但是,您还能指导我如何修复 HTTP 标头吗?
  • 那可能不是问题所在。您可以使用curlcurl -D - 'http://example.com/robots.txt' | grep -i content-type 从命令行查看内容类型标头实际上是什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-10
  • 2015-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-31
  • 1970-01-01
相关资源
最近更新 更多