Questions tagged «routing»

有关将URL映射到控制器和操作的问题。

4
所请求的资源不支持HTTP方法“ GET”
我的路线已正确配置,并且我的方法具有修饰标记。我仍然收到“请求的资源不支持HTTP方法'GET'”消息吗? [System.Web.Mvc.AcceptVerbs("GET", "POST")] [System.Web.Mvc.HttpGet] public string Auth(string username, string password) { // Décoder les paramètres reçue. string decodedUsername = username.DecodeFromBase64(); string decodedPassword = password.DecodeFromBase64(); return "value"; } 这是我的路线: config.Routes.MapHttpRoute( name: "AuthentificateRoute", routeTemplate: "api/game/authentificate;{username};{password}", defaults: new { controller = "Game", action = "Auth", username = RouteParameter.Optional, password = RouteParameter.Optional }, constraints: …

5
Web API路由-api / {controller} / {action} / {id}“功能异常” api / {controller} / {id}
我在Global.asax中具有默认路由: RouteTable.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = System.Web.Http.RouteParameter.Optional } ); 我希望能够定位特定的功能,所以我创建了另一条路线: RouteTable.Routes.MapHttpRoute( name: "WithActionApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = System.Web.Http.RouteParameter.Optional } ); 因此,在我的控制器中,我有: public string Get(int id) { return "object of id id"; } [HttpGet] public IEnumerable<string> ByCategoryId(int id) { return new string[] { …

5
AngularJS-如何在整个页面加载时进行重定向?
我想进行重定向,以重新加载整个页面,以便在页面加载时刷新来自我的Web服务器的cookie。window.location = "/#/Next"而且window.location.href = "/#/Next"不起作用,它们会执行不打服务器的Angular路由。 在Angular控制器中发出完整服务器请求的正确方法是什么?

2
Rails路由可在单个应用程序上处理多个域
尽管这里和其他地方有几个类似的问题,但我一直无法找到可行的解决方案。对于Rails 3,似乎没有回答这个问题,所以可以这样: 我有一个当前允许用户创建包含其应用程序实例的子域的应用程序。在Rails 2中,最好使用subdomain-fu gem来提供服务,而在Railscast中,根据Railscast- http: //railscasts.com/episodes/221-subdomains-in-rails-3而言,它要简单得多。 那是好东西,但我也想为用户提供将自己的域名与他们的帐户关联的选项。因此,尽管他们可能拥有http://userx.mydomain.com,但我希望他们也选择关联http://userx.com。 我在Rails 2中找到了一些这样做的参考,但是这些技术似乎不再起作用了(特别是这一技术:https : //feefighters.com/blog/hosting-multiple-domains-from-a-single-rails -app /)。 谁能推荐一种使用路由的方法来接受任意域并将其传递给控制器​​,以便我可以显示适当的内容? 更新:由于Leonid的及时响应以及对代码的重新审视,我现在已经得到了大部分答案。最终,它需要对我正在使用的现有子域代码(来自Railscast解决方案)进行添加,然后在route.rb中添加一些内容。我还没到那儿,但我想发布到目前为止的内容。 在lib / subdomain.rb中: class Subdomain def self.matches?(request) request.subdomain.present? && request.subdomain != "www" end end class Domain def self.matches?(request) request.domain.present? && request.domain != "mydomain.com" end end 我添加了第二堂课,以模仿第一堂课,这是众所周知的工作方式。我只需添加一个条件,以确保传入域不是我托管主站点的域。 此类在routes.rb中使用: require 'subdomain' constraints(Domain) do match '/' => …

4
在Ruby on Rails中使用破折号`-`而不是下划线`_`进行路由
我希望自己的网址使用破折号-而不是下划线_作为单词分隔符。例如controller/my-action代替controller/my_action。 我对两件事感到惊讶: Google等。继续区分它们。 Ruby on Rails没有一个简单的全局配置参数可以映射-到_路由中。还是呢? 我最好的解决方案是使用:as或命名路由。 我的想法是修改Rails路由以检查该全局配置,并在分派到控制器操作之前更改-为_。 有没有更好的办法?

18
我的路线返回了404,我该如何解决?
我刚刚开始学习Laravel框架,而路由却遇到了问题。 唯一有效的路由是开箱即用附加到Laravel的默认本地路由。 我在Windows上使用WAMP,它使用PHP 5.4.3和Apache 2.2.22,并且还启用了mod_rewrite,并已从application.php配置文件中删除了“ index.php”以保留一个空字符串。 我创建了一个名为User的新控制器: class User_Controller extends Base_Controller { public $restful = true; public function get_index() { return View::make('user.index'); } } 我已经使用一些基本的HTML代码在application / views / user /中创建了一个名为index.php的视图文件,并在route.php中添加了以下内容: Route::get('/', function () { return View::make('home.index'); }); Route::get('user', function () { return View::make('user.index'); }); http://localhost/mysite/public在我的网络浏览器中访问根目录()时,第一条路线工作正常,但是当我尝试转到第二条路线时,http://localhost/mysite/public/user出现404 Not Found错误。为什么会这样呢?

6
通过方法属性的ASP.NET MVC路由
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在StackOverflow Podcast#54中,Jeff提到他们通过处理路由的方法上方的属性将其URL路由注册到StackOverflow代码库中。听起来像是个好主意(Phil Haack提出了关于路线优先级的警告)。 有人可以提供一些样本来实现这一目标吗? 另外,是否有使用这种样式的路由的“最佳实践”?

3
Angular 2-子模块路由和嵌套的<router-outlet>
我正在寻找针对Angular 2的解决方案,用于以下情况: 在这种情况下,top-nav包含指向加载子模块的链接,sub-nav包含用于更新子模块内容的链接。 网址应映射为: / home =&gt;将主页加载到主要组件路由器出口中 / submodule =&gt;在主组件路由器出口中加载子模块,默认情况下应显示子模块的主页和子导航栏 / submodule / feature =&gt;将功能加载到子模块的路由器出口内 应用程序模块(和应用程序组件)包含顶部导航栏,可导航到不同的子模块,并且应用程序组件模板看起来像这样 &lt;top-navbar&gt;&lt;/top-navbar&gt; &lt;router-outlet&gt;&lt;/router-outlet&gt; 但这就是复杂性。我需要我的子模块具有类似的布局,并带有第二级导航栏和自己的路由器插座,以加载自己的组件。 &lt;sub-navbar&gt;&lt;/sub-navbar&gt; &lt;router-outlet name='sub'&gt;&lt;/router-outlet&gt; 我尝试了所有选项并进行了无处不在的搜索,但找不到找到具有路由器插座的子模块中具有默认模板(如应用程序组件)的解决方案,并且在不丢失子导航的情况下在内部路由器插座中加载了子模块的内容。 我将不胜感激任何意见或建议
80 angular  routing 


3
如果引发异常,Akka Actor不会终止
我目前正在尝试开始使用Akka,并且遇到了一个奇怪的问题。我的演员有以下代码: class AkkaWorkerFT extends Actor { def receive = { case Work(n, c) if n &lt; 0 =&gt; throw new Exception("Negative number") case Work(n, c) =&gt; self reply n.isProbablePrime(c); } } 这就是我开始工作的方式: val workers = Vector.fill(nrOfWorkers)(actorOf[AkkaWorkerFT].start()); val router = Routing.loadBalancerActor(SmallestMailboxFirstIterator(workers)).start() 这就是我关闭所有内容的方式: futures.foreach( _.await ) router ! Broadcast(PoisonPill) router ! PoisonPill …

7
htaccess重定向到Angular路由
我有一些路线的角度应用程序,例如: site.com/ site.com/page site.com/page/4 使用angular的html5路由模式,当您从应用程序内单击指向链接的链接时,这些链接可以正确解析,但是当您进行硬刷新时,这些链接当然是404错误。为了解决这个问题,我尝试实现基本的htaccess重写。 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_METHOD} !OPTIONS RewriteRule ^(.*)$ index.html [L] 这适用于角度请求,但是当我尝试在我的域内加载脚本或进行ajax调用时,例如: &lt;script src="/app/programs/script.js"&gt;&lt;/script&gt; 该脚本不会加载-它的请求被重定向,并且它尝试加载index.html页,因为.htaccess认为它应该重新路由该请求-不知道此文件确实存在,因此应该加载该文件而不是重定向。 只有在没有实际文件可以解析的情况下,htaccess有什么方法可以使htaccess将请求重定向到index.html(带有视图参数)吗?

1
如何在不做路由的情况下在AngularJS中设置查询参数?
我的Angular应用程序允许用户加载项目,当发生这种情况时,我想设置一个包含该项目ID的查询字符串,以便如果用户刷新页面(或想要链接到该页面),则URL已经存在设置(如果$ routeParams中包含ID,则已经有代码可以加载该项目)。 如何设置该查询参数而不引起路由?如果发生路由,页面上还有其他内容会重置(包括必须重新加载其所有数据的插件),因此仅更改查询参数很重要。 简而言之,当我加载项目123时,我要做的就是URL从以下位置更改: www.myurl.com/#/Items 至: www.myurl.com/#/Items?id=123 没有进行任何路由。 最好的方法是什么?


7
ASP.NET MVC,URL路由:最大路径(URL)长度
场景 我有一个应用程序,使用了良好的旧查询字符串URL结构: ?x=1&amp;y=2&amp;z=3&amp;a=4&amp;b=5&amp;c=6 并将其更改为路径结构: /x/1/y/2/z/3/a/4/b/5/c/6 我们正在使用ASP.NET MVC和(自然地)ASP.NET路由。 问题 问题在于我们的参数是动态的,并且(理论上)我们需要容纳的参数数量没有限制。 一切都好,直到我们被下列火车撞上: HTTP错误400.0-错误请求ASP.NET在URL中检测到无效字符。 当我们的URL超过一定长度时,IIS将抛出此错误。 坚韧不拔 这是我们发现的: 这不是IIS问题 IIS确实有最大路径长度限制,但是上面的错误不是这个。 了解dot iis dot net如何使用请求过滤部分“基于请求限制的过滤” 如果该路径对于IIS而言太长,它将抛出404.14,而不是400.0。 此外,IIS最大路径(和查询)长度是可配置的: &lt;requestLimits maxAllowedContentLength="30000000" maxUrl="260" maxQueryString="25" /&gt; 这是一个ASP.NET问题 经过一番戳后: IIS论坛线程:ASP.NET 2.0的最大URL长度? http://forums.iis.net/t/1105360.aspx 原来,这是一个ASP.NET(实际上是.NET)问题。 事情的核心是,据我所知,ASP.NET无法处理长度超过260个字符的路径。 棺材上的钉子是由哈克(Phil the Haack)本人证实的: 堆栈溢出ASP.NET URL MAX_PATH限制问题ID 265251 问题 那是什么问题呢? 问题是,这有多大限制? 对于我的应用程序,这是一个交易杀手。对于大多数应用程序,这可能不是问题。 那披露呢?我从未听说过有关ASP.NET Routing的任何限制。ASP.NET MVC使用ASP.NET路由的事实使此影响更大。 你怎么看?

3
快速路线参数条件
我的Express应用上有一条路线如下: app.get('/:id', function (request, response) { … }); 该ID始终是数字。但是,此路线目前与其他条件匹配,例如/login。 我想我希望从中得到两点: 仅在ID为数字时使用此路由,并且 仅当尚未为该特定参数定义路线时(例如与冲突/login)。 能做到吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.