在构建多语言网站(使用ASP.NET Web Forms)时,我会使用HTTP模块将URL重写为友好的形式(对于人类和搜索引擎),例如:
uk/products/product_category_one/sub_category_one/index.aspx
uk/products/product_category_one/sub_category_one/widget_mk5.aspx
es/productos/categoría_de_producto_una/widget_mk5.aspx
我的(新手)理解是MVC中URL的格式应该为
控制器 / 动作 / 标识符
因此,使用MVC复制上面的功能将会得到类似以下的URL:
products/category/123/product_category_one/sub_category_one
products/items/456/widget_mk5
问题..
- 我可以在“controller”段之前插入国家代码到URL中吗?
- 是否可能将“products”和“productos”映射到同一个控制器?
感谢您的帮助
编辑:除了Panos在下面的答案外,我在ASP.NET网站上找到了更多信息。
uk/Products/Category/1/A
es/Productos/Category/1/A
在这两种情况下,由于lang是一个字符串字段并匹配,因此它将被定向到第一个路由“ukRoute”。 - Saanch