2011-08-09 124 views
0

我正在一个房地产网站上工作。这将是理想有我的客户的精选房产有一个像自己独特的网址:在asp.net中的URL重写c#

www.realestatewebsite.com/featured/123-fake-st/

我构建CMS为我的客户端,以便他们可以在管理后台添加/删除特色属性,这意味着我需要编写一个程序,根据他们通过CMS输入到数据库中的地址自动为他们添加新的URL。

我是新来的URL重写。什么是最好的方式去做这件事?我曾考虑在web.config中使用RewriterConfig,但后来我担心编写一个将新规则添加到web.config文件的程序会遇到问题。我想在RewriterRule中使用正则表达式来查找URL中/ featured /之后的任何内容,但是如果我只是在LookFor中使用地址,那么它如何知道在SendTo中使用哪个属性ID?

如果我只需要一个文件将“/ featured /”后面的地址放入字符串,查看数据库中的地址并检索Property ID,然后重定向用户,那将是理想的选择。

正如我所说,我是新来的URL重写,如果有人能指出我正确的方向,这将是非常好的。

谢谢!

-Aaron

回答

0

这样做有多种方法。对所有的解决方案如下:

  1. 建立一个算法创建的URI,并将它们存储在数据库(改变空间 - 是一个简单的方式实现这一目标
  2. 路线的URI通过使。地址字符串转换成参数

路由可以做到多种方式。

如果你有服务器的控制权,或者他们拥有服务器的控制权,你必须设置IIS重写的能力他们的服务器上的IIS实例(good starter URI)。

如果这是托管在ISP上,您可能没有此选项,并且必须使用IIS重写,并且必须使用ASP.NET路由。 Here是一个很好的文章,以开始解决这个问题。如果您使用的是MVC,则路由是“内置的”。

+0

大文章,感谢您的帮助! –