我正在开发一个ASP.NET MVC应用程序。 此应用程序显示有关产品的详细信息。
产品名称可以包含任何特殊字符,例如单引号,百分比符号,已注册符号,带圆圈的符号和' R'在里面,商标符号等。
目前所有这些都被替换为' - '。 如果名称是这样的:
Super-Men的100%涤纶针织衬衫
在网址中显示如下:
8080/super---men-s-100-polyester-knit-shirts/maverick
- men-s-100-polyester-knit-shirts
这在Js中就是这样完成的:
Name.replace(/([~!@#$%^&*()_+=`{}\[\]\|\\:;'"<>,.\/? ])+/g, '-').replace(/^(-)+|(-)+$/g, '');
所以问题是,名称是否应该按原样显示在URL中? 如果有,请指点。 如果不是,请提供一些有效的理由,例如今天遵循的标准,这将有助于我把重点放在桌面上。
问候。
答案 0 :(得分:0)
简短的回答不是摆弄它。它开箱即用就好了。
网址只能包含少量字母数字字母。这基本上意味着你只能拥有0-9 a-z和 - _。 〜。
需要对所有其他字符进行编码。既然你可以拥有阿拉伯语网址,那它就会变得更加复杂。
但假设您的网站是indo-european,那就是它。因此,您的网址永远不会有完整的产品名称。
并将它们重命名为更酷的东西,例如将%替换为&#34;%&#34;在网址中可以给你的网址带来灾难,就像在某些情况下的假冒&#34;名称可能不会最终唯一,因此最终会出现不可靠的路由。