Asp.net网站设计考虑因素重定向

时间:2012-05-22 05:58:00

标签: c# asp.net architecture webforms multilingual

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

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

通过这种方式,我可以拥有更多灵活性的多语言网站,但会使管理网站的工作时间稍长。

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

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

ASP.Net 4.0 Web Forms中的网站开发,C#3.0

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

2 个答案:

答案 0 :(得分:0)

搜索引擎确实可以区分301和302重定向。通过使用302,这意味着页面已被临时移动到可能混淆搜索引擎的新位置。

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

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

答案 1 :(得分:0)

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

要回答关于正确架构是什么的更一般的问题,我会避免使用语言检测和自动重定向。有几个原因:

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

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