1

我设计了英语和阿拉伯语的多语言网站,同时为两种语言保留一个页面,并为英语和阿拉伯语使用不同的 CSS 文件以及资源文件。这种方法很好,但如果我们对相同的页面有不同的功能限制了设计,那么这种方法很难处理。

我正在设计新网站,并考虑为英语和阿拉伯语版本设置单独的 .ASPX 页面。在新设计中,我将英语版本文件保存在“en”文件夹下,阿拉伯语保存在“ar”文件夹下,我将使用 Default.aspx 文件检测浏览器语言并将用户重定向到特定语言版本。

这样我可以拥有更灵活的多语言网站,但会使管理网站稍微耗时。

现在我的问题是我应该使用什么方法来重定向到特定版本,我应该使用一般的 response.redirect 方法还是我应该做一个正确的 301 重定向。

我不确定什么是最好的和搜索引擎友好的方法。

ASP.Net 4.0 Web 表单、C# 3.0 中的网站开发

如果有人可以推荐一种更好的方法或者我如何以更专业的方式设计它,我将不胜感激。

4

2 回答 2

0

要回答重定向问题,如果您决定以这种方式设置解决方案,则应使用正确的 301 重定向。

为了回答正确架构是什么的更普遍的问题,我会避免将语言检测与自动重定向结合使用。有几个原因:

  • 搜索引擎机器人可能不会发送任何用户字符串。出于这个原因,充其量他们只会选择一个版本的网站,最坏的情况是会出现问题,他们不会选择任何一个版本。
  • 检测错误的可能性很高。例如,如果有人将他们的语言设置为法语怎么办?你把它们送到哪里?

相反,您应该做的是在导航(或您认为合适的任何地方)中进行语言切换,将您带到其他语言的相应页面。这将允许用户轻松切换到适当的语言,并确保机器人可以正确索引您网站的两个版本(作为额外的奖励,它还确保机器人看到该页面的另一个版本,搜索引擎将然后注意识别语言)。

于 2012-05-24T18:41:47.440 回答
0

搜索引擎实际上区分了 301 和 302 重定向。使用 302 意味着页面已临时移动到可能会混淆搜索引擎的新位置。

您可以使用 Response.RedirectPermanent 在 ASP.NET 4.0 中执行永久重定向。

此链接更详细地解释了 302 和 301 重定向之间的区别:http: //www.hochmanconsultants.com/articles/301-versus-302.shtml

于 2012-05-22T07:53:34.817 回答