问题标签 [routing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
url - URL 路由:在创建友好 URL 时处理空格和非法字符
我看过很多关于 URL 路由的讨论,以及很多很棒的建议……但在现实世界中,我没有看到讨论过的一件事是:
- 创建带有空格和非法字符的友好 URL
- 查询数据库
假设您正在构建一个 Medical 站点,其中包含带有Category和可选Subcategory的文章。(1对许多)。(可以用任何例子,但医学领域有很多长词)
示例类别/子/文章结构:
- 您的一般健康状况(类别)
- 自然健康(子类别)
- 您身体的免疫系统及其需要帮助的原因。(文章)
- 植物和草药真的是解决方案吗?
- 我应该吃强化食品吗?
- 顺势疗法
- 什么是顺势疗法药物?
- 健康饮食
- 你应该每天喝10杯咖啡吗?
- 有机蔬菜值得吗?
- 汉堡王® 是邪恶的吗?
- “法式咖啡”还是美式咖啡更健康?
- 自然健康(子类别)
- 疾病和状况(类别)
- 自身免疫性疾病(子类别)
- 人类的第一大杀手是某种疾病
- 如何获得帮助
- 遗传条件
- 怀孕前预防脊柱裂。
- 你有长寿的倾向吗?
- 自身免疫性疾病(子类别)
- FooBar博士的个人建议(分类)
- 我对草药和自然疗法的看法(文章 - 无子类别)
- 为什么要关心自己的健康?
- 有可能吃得好并有良好的饮食习惯。
- 无血手术已经成熟了吗?
在这样的结构中,如果你去的话,你将有一些LOOONG URL:/{Category}/{subcategory}/{Article Title}
此外,还有许多非法字符,如#! ? 'é”等。
所以,问题是:
- 您将如何处理非法字符和空格?(优点和缺点?)
- 你会处理从数据库中获取这个吗
- 换句话说,您会相信数据库找到项目、传递标题,还是提取所有标题并在代码中找到密钥以获取传递给数据库的密钥(对数据库的两次调用)?
注意:我总是看到漂亮漂亮的例子,比如 /products/beverages/Short-Product-Name/ 如何处理一些丑陋的例子 ^_^
asp.net-mvc - 是否可以基于子域创建 ASP.NET MVC 路由?
是否可以有一个使用子域信息来确定其路由的 ASP.NET MVC 路由?例如:
- user1 .domain.com去一个地方
- user2 .domain.com转到另一个?
username
或者,我可以让它们都使用参数进入同一个控制器/动作吗?
c# - 在 Web 表单中使用 URL 路由生成 URL
我知道在 MVC 框架中,你有 Html 类来创建 URL:
但是如果你想在 Webforms 中生成 Urls 怎么办?
关于使用 Webforms 生成 URL 的详细信息,我还没有找到一个非常好的资源。
例如,如果我生成这样的路线:
我将如何使用路由表数据生成 URL。
如何根据我的路由生成 URL?
例如。/ca/en/articles/123/Article-Title 没有
asp.net-mvc - ASP.NET MVC - .mvc 路由在 II6 中失败
我一直在试图在 IIS6 上部署我的 MVC 应用程序(链接问题)
我暂时放弃了通配符映射,并试图让 .mvc 扩展工作。IIS 中的所有内容都已正确配置,并且 .mvc 扩展名指向所有动词类型的 .NET dll(未选中验证是否存在选项)。
每次我提出请求时,我得到的只是 .NET 404 页面。/Home.mvc 和 /Home.mvc/Index 都返回该页面。
我没有对默认的 Web.config 进行任何更改,并且我的所有路由都配置了无扩展和基于扩展的等效项。
我很欣赏这个配置对于每个阅读它的人来说是多么容易(声音),但我向你保证我没有做任何不同的事情,我的不会工作。我什至尝试使用 IIS6 将它部署在不同的服务器上,同样的问题也发生在那里。
是否还有其他原因导致路由模块/处理程序完全丢失请求并使其陷入标准的 .NET 404 错误?奇怪的权限?
对于 IIS 404 错误,我更新了自定义错误设置,使其在站点路径中调用 Default.aspx 页面。这是 Visual Studio 中生成的 MVC beta 模板的默认页面,它在后面的代码中执行以下操作:
这只是给了我上一篇文章中的错误:
asp.net - 将 url 翻译成路由
我觉得我在这里重新发明了轮子,但我需要找到一种方法从一个包罗万象的 URL 中获取 URL,并将其重定向到另一条路线。
这样做的原因是因为我需要做一些事情,比如为某些 url 添加会话 cookie,然后将它们传递给他们的相关操作。
实现这一点的最佳方法是什么?
提前感谢您的帮助!
ruby-on-rails - 模型中的自定义 Ruby 路由
好的,这两个相关的问题是参考Railscast #21:
我遇到了一些路线问题。两个问题:
1)教程中的路由似乎是相对于应用程序的根目录的;我希望它们相对于模型的根。所以
" http://example.com/login
" 我必须是 " http://example.com/model/login
" (注销时反之亦然)。
我正在使用永久链接来引用我的记录,但我不知道如何指定覆盖,因为每次我尝试使用“ http://example.com/model/login
”时都会收到一个错误,提示找不到“登录”记录。如何覆盖此登录/注销?
2) 为我选择自定义路线似乎并没有将自定义路线保留在我的地址栏中。所以去“ http://example.com/login
”让我到正确的页面,但浏览器现在http://example.com/session/new
在地址栏中显示“”。在本教程中,这不会发生:应用程序提供正确的页面并将自定义路由保留在地址栏中。我怎样才能让这发生在我身上?
.net - .net 中带点的语义 url
我正在尝试为搜索页面制作语义 url,但如果有人使用点中完成的搜索,.net 引擎会返回 404。
该请求甚至没有到达路由引擎,所以我认为它与安全或类似的东西有关。
例如,stackoverflow 路由在这些情况下也不起作用: https://stackoverflow.com/questions/tagged/etc。
asp.net-mvc - 在路由定义中间使用贪婪路由参数
我正在尝试创建遵循树导航系统结构的路线,即我想在我的路线中包含树中的整个路径。所以如果我有一棵看起来像这样的树
- 电脑
- 软件
- 发展
- 图形
- 硬件
- 中央处理器
- 显卡
- 软件
然后我希望能够拥有看起来像这样的路线
- site.com/catalog/computers/software/graphics
这本身并不难,可以通过看起来像这样的路线捕获
- 目录/{*类别}
但是我希望能够在该 URL 的末尾添加产品信息,就像这样
- site.com/catalog/computers/software/graphics/title=Photoshop
这意味着我会要求像以下示例一样定义的路线
- site.com/{*categories}/title={name}
- site.com/{*categories}
然而,这些路线中的第一个是无效的,因为在诸如 {*categories} 之类的贪婪参数之后不会出现其他任何东西,所以我有点卡住了。我一直在考虑实现正则表达式路由,或者可能使用 IRouteContraint 来解决这个问题,但我想不出一个体面的解决方案,让我也可以使用Html.ActionLink(...)方法生成出站 URL填写了 {*categories} 和 {name}
非常感谢任何建议!
你们中的一些人可能昨天看到了我提出的类似问题,但我已将其删除,因为此后我对其进行了更多思考,并且旧问题包含对我的问题的不完整描述
更新 2008/11/26我在http://thecodejunkie.blogspot.com/2008/11/supporting-complex-route-patterns-with.html发布了解决方案
ruby-on-rails - Rails 中没有命名空间的路由(2.2)
与此处提出的问题有关——rails 资源路由中的默认段名称。
在尝试生成没有命名空间前缀的资源时遇到问题(即 /:apple_id/oranges/)。使用插件给了我 //:apple_id/oranges?
有更简单的方法吗?也许是2.2的问题?
asp.net-mvc - Asp.Net Mvc Route Constraints 能否抛出 404 而不是 InvalidOperationException?
我正在尝试在 Asp.Net MVC 应用程序中使用路由约束。
当我输入 ~/MyAction/aString 之类的 url 时,会显示 YSOD 并带有无效操作异常。我该怎么做才能将无效的 url 重定向到 404 页面?
我知道我可以使用控制器操作和 int.TryParse 中的字符串参数来解决问题,但是路由约束是无用的。
如何选择路由约束抛出的异常类型?