我在路由配置文件中设置了以下路由。我有一个配置阅读器,将它们映射到MVC风格的路由。
[route name="customers" url="customers/{statename}/{marketname}/{pagenumber}"]
[controller name="Customers" action="Display" /]
[/route]
[route name="pcustomers" url="{customername}/customers/{statename}/{marketname}/{pagenumber}"]
[controller name="Customers" action="Display" /]
[/route]
[route name="pcustomers" url="{customername}/customers/{statename}/{marketname}/{pagenumber}"]
[controller name="Customers" action="Display" /]
[/route]
正如您所知,第一条和第二条路线几乎相同,但第二条路线中的{customername}部分。
第一个与网址匹配 的 www.abc.com/customers/TX/Austin/5
其中第二个与网址匹配 的 www.abc.com/CustomerX/customers/TX/Austin/5
我的问题是,有没有办法将这两条路线合二为一,仍然可以匹配两个网址?
答案 0 :(得分:2)
您是否可以使用子域名并将第二个网址更改为customerx.abc.com/customers/tx/Austin/5?如何将customerx药水作为可选参数添加到最后? abc.com/customers/tx/Austin/5?customer=x
答案 1 :(得分:1)
我会做这样的路线:
customers/{statename}/{marketname}/{customer}
并将pagenumber作为查询字符串。 这样的网址就是:
www.abc.com/customers/tx/Austin?pagenumber=1
或
www.abc.com/customers/tx/Austin/CustomerX
网址的构建也很可能遵循网站的使用模式: