在我的一个ASP.NET MVC应用程序中,我正在使用actionlink来切换语言,例如: http://example.com/nl/home/switch?lang=en&redirect=/en/home/about
。按下网址后,切换功能会将用户重定向到/en/home/about
语言en
(英语)。问题是谷歌正在将交换机动作链接编入索引,好像它是链接页面。因此,在此示例中,/en/home/about
在结果中显示为http://example.com/nl/home/switch?lang=en&redirect=/en/home/about
而不是http://example.com/en/home/about
。我认为rel="nofollow"
不是一个选项,因为链接页面将被忽略。另外,在actionresult我正在使用函数Redirect(..);
,如果我错了,请纠正我,但重定向函数不会发送标题302吗?有什么建议可以解决这个问题吗?
答案 0 :(得分:0)
Google不能很好地处理302重定向。 302重定向是“临时”重定向。当您发出302时,Google可能更愿意为重定向本身编制索引,因为您说它指向的项目可能会更改。如果您更改了重定向代码以发出301永久重定向,我相信Google会按照您的意愿行事。