思考一种将短 url 结构映射到长 url 结构的方法
这是我的第一个问题,所以为我的滑稽无知道歉。
我有一个 C# 网站,当前使用根文件夹和查询字符串的混合来格式化其页面。每个页面都有一个唯一的 ID,该 ID 取决于根文件夹之一。
例如: www.mywebsite.com/files/cats/index.aspx?p=100000 和 www.mywebsite.com/files/ducks/index.aspx?p=100001,其中 P 值是唯一整数,www.mywebsite.com /files/cats/index.aspx?p=100001 不起作用。
我想要做的是使用一个可以映射到这些值的短 URL,而不必使用数据库。
例如,访问 http://myw.eb/cat/100000 将映射到 http://www.mywebsite.com/files/cats/index.aspx?p=100000。
有什么办法可以做到这一点,或者我最好使用其他方法吗?我不喜欢对唯一 ID 进行哈希处理的想法,因为我认为它会加倍。
任何帮助将非常感激。
this is my first question here so apologies for my hilarious ignorance.
I have a website in C# that currently formats its pages using a mixture of root folders and a query string. Each page has a unique ID that is dependent on one of the root folders.
For example:
www.mywebsite.com/files/cats/index.aspx?p=100000 and www.mywebsite.com/files/ducks/index.aspx?p=100001, where the P value is the unique integer, www.mywebsite.com/files/cats/index.aspx?p=100001 would not work.
What I want to do is to use a short URL that would map to these values, without necessarily using a database.
For instance, going to http://myw.eb/cat/100000 would map to http://www.mywebsite.com/files/cats/index.aspx?p=100000.
Is there any way that this would be possible or am I better off using another method? I don't like the idea of hashing the unique IDs as I see it as doubling up.
Any help would be incredibly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
URL 重写模块
在 IIS7 中。在 IIS6 中,您可以使用 ISAPIRewrite。
You can use
URL Rewrite Module
in IIS7.in IIS6 you can use ISAPIRewrite.
它总是直接映射吗?也就是说,
http://myw.eb//
始终映射到http://myw.eb/files/s/ index.aspx?p=
,哪里是“duck”或“cat”或其他什么,是整数?如果是这样,那么您可以创建一个简单的脚本来解析短网址并进行必要的替换以生成长网址。无需数据库。我不知道法贾德提到的 URL 重写模块是否支持这一点,但我怀疑是的。
Is it always a straight mapping? That is, will
http://myw.eb/<type>/<id>
always map tohttp://myw.eb/files/<type>s/index.aspx?p=<id>
, where is "duck" or "cat" or whatever, and is the integer?If so, then you can create a simple script that parses the short url and does the necessary replacements to generate the long url. No database required. I don't know if that's supported by the URL Rewrite Module, that fardjad mentioned, but I suspect it is.
ASP.Net MVC 路由是 Url 路径部分的另一种方法(如果您愿意做更多的工作)。
旁注:获得简短且有用的域名可能很难,修复路径的路径部分很容易。
ASP.Net MVC routing is another approach to path portion of the Url (if you are willing to do slightly more work).
Side note: getting short and useful domain name maybe hard, fixing path portion of the path is easy.