我使用ASP.NET网页创建了一个网站(不是MVC,而不是网络表单)。
如果我在浏览器中通过mydomain.com访问默认页面,则会显示默认页面(index.cshtml)。但是,搜索引擎看到的是404页面,如果我将用户代理更改为Googlebot或Bingbot,我也会收到404错误。
这只影响默认页面 - 如果我使用mydomain.com/index.cshtml,我就不会获得404页面。
我的代码中没有用户代理检测。
我看过标题并且没有重定向,只有在使用僵尸用户代理时才会立即回复404。
是否有一些内置的用户代理检测会影响ASP.NET网页中的默认页面?或者我的托管公司可以做些什么(Arvixe)?
我可以添加代码,如果它有帮助(但不确定我会添加什么代码),或链接到网站。
答案 0 :(得分:0)
我找到了问题的原因。
显然,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搜索我的网站时看到了体育球衣的标题/说明,这就是我调查这个的原因。
从搜索中看,这已经影响了许多Arvixe客户,大多数人可能永远都不知道,因为他们不太可能看到他们的网站上有搜索机器人用户代理。
看起来Arvixe已经意识到了黑客行为并且已经通过删除垃圾邮件文件(bot.asp或bot.php)来阻止它,但他们还没有修复web.config。如果您与Arvixe共享托管,您应该立即检查。
您还应该检查您的Google搜索控制台/分析帐户中添加的所有者/用户,因为有些人已经报告了这一点,但您会收到一封电子邮件警告。
我更改了所有的Arvixe密码,但我怀疑他们有个人帐户密码,他们可能在服务器级别入侵。