使用?lang =参数重写URL

时间:2010-03-22 18:03:25

标签: url mod-rewrite parameters

我的开发人员说不可能重写网址表单 example.com/name/name/?lang=english to example.com/en/name/name /

是不是可以呢? 如果是,应该怎么做? 如果没有,原因可能是什么?

我们有来自maddogdomains(godaddy)的基于Windows的托管

4 个答案:

答案 0 :(得分:1)

在用户仍会看到?lang参数的意义上,您无法“重写”该网址。但是,您可以重定向到没有该参数的页面。

他可以检查查询字符串,去除查询字符串,并重定向到没有任何查询字符串参数的页面。这应该很容易做到。

但是,请记住,用户被“重定向”到同一页面,因此加载页面的速度会变慢,因为它会加载两次。

答案 1 :(得分:1)

此功能自2.0版以来一直在.NET中使用。请让您的程序员通过Microsoft查看URL Rewriting in ASP.NET。它也可以由IIS(URL Rewrite)完成,但您的托管服务商可能不支持此功能。

您的程序员可能还想查看路由(ASP.NET MVC Routing Overview (C#))。路由由MVC使用,但不限于MVC。它也可以被ASP.NET应用程序使用。

答案 2 :(得分:0)

如果在您的主机上启用了mod_rewrite,您当然可以使用它。这是一个教程:http://articles.sitepoint.com/article/guide-url-rewriting

答案 3 :(得分:0)

您的开发者可能错了。 Microsoft IIS的URL重写模块可以完全按照您的要求执行。快速查看主机的软件包无法显示是否启用了此类模块。也许你应该给他们的支持部门发邮件并询问如果它不可用,则更换为其他Web主机相当容易;有很多很好的托管公司。

另一种选择是在应用程序中处理URL重定向。究竟如何实现这一点取决于它所编写的语言和可能的框架以及这些工具如何将URL映射到代码。

当开发人员告诉你某些事情是不可能的时候,你通常应该持怀疑态度。几乎总有办法。这并不是说它总是实用的;一个优秀的开发人员可以提供速度,开发时间和可维护性权衡的解释,并让您拨打电话。