由NancyFx提供重定向

acg

我们正在努力使html5mode与AngularJs一起使用,最后的障碍是重新创建IIS这样的礼节性重定向

要求

GET http://localhost/foo HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: ws7-agentry2

IIS响应

HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=UTF-8
Location: http://localhost/foo/
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Fri, 18 Jul 2014 17:09:20 GMT
Content-Length: 147

<head><title>Document Moved</title></head>
<body><h1>Object Moved</h1>This document may be found <a HREF="http://localhost/foo/">here</a></body>

问题是,无论请求中是否包含斜杠,Nancy流水线中的请求对象都是相同的。由于我们无法区分两者,因此在不导致重定向无限循环的情况下,我们无法返回重定向。我们尝试使用url重写来完成此操作,但无济于事,理想情况下,我想获取原始url。

提前致谢

acg

万一其他人需要获得相同的结果,也就是要使html5mode与IE9和NancyFx一起工作,就必须构建一个httpmodule,如本文所示,尽管我相信标题是错误的:

public class CourtesyRedirectModule : IHttpModule {
    public void Dispose() {}

    public void Init(HttpApplication context) {
        context.BeginRequest += context_BeginRequest;
    }

    private void context_BeginRequest(object sender, EventArgs e) {
        if (HttpContext.Current.Request.Url.PathAndQuery.Equals(HttpContext.Current.Request.ApplicationPath))
            HttpContext.Current.Response.Redirect(HttpContext.Current.Request.ApplicationPath + "/");
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在NancyFX中将/重定向到/index.html

来自分类Dev

将提供服务的静态文件重定向到root,html5路由,angular2

来自分类Dev

从 AuthenticateLocalAsync 重定向到外部提供程序

来自分类Dev

在路线服务提供商中重定向

来自分类Dev

Spring REST调用提供了302重定向

来自分类Dev

最佳的Joomla扩展类型,可提供简单的重定向功能

来自分类Dev

如果未提供查询参数,则Angular 9重定向

来自分类Dev

如何使表单重定向到Django中用户提供的URL?

来自分类Dev

提供重定向到复合命令中使用的命令

来自分类Dev

Spring REST调用提供了302重定向

来自分类Dev

Nginx try_files重定向不提供CSS /图像

来自分类Dev

如何设置重定向到JS函数提供的链接

来自分类Dev

如何在 React 中创建重定向规则而不重定向到同一路由?

来自分类Dev

重定向后重定向

来自分类Dev

ADFS SAML身份提供程序重定向到状态为“响应者”的服务提供程序

来自分类Dev

如何知道此请求是否由Silex中的重定向触发?

来自分类Dev

访问代理中由apache和nginx托管的wordpress时重定向到127.0.0.1

来自分类Dev

AngularJS 2路由:登录后重定向到仪表板

来自分类Dev

反应从基于id的路由重定向到404路由

来自分类Dev

无法从301路由器重定向上的URL中提取:page参数

来自分类Dev

S3路由规则中的重定向主页

来自分类Dev

Angular2路由器-canActivate使用发布请求进行重定向

来自分类Dev

Django:如果 url 是由用户手动编写的,则重定向

来自分类Dev

当用户提供重定向URL时,如何在yii中完全删除index.php

来自分类Dev

如何在Chrome扩展程序中为OAuth2提供重定向URL?

来自分类Dev

如何使用社交提供程序成功登录后设置重定向URL

来自分类Dev

自定义会员资格提供者不会重定向

来自分类Dev

OS X:“ man”输出在重定向时提供了额外的字符

来自分类Dev

Magento 1.8 / 1.9 checkout / cart / add / uenc /提供302重定向

Related 相关文章

  1. 1

    在NancyFX中将/重定向到/index.html

  2. 2

    将提供服务的静态文件重定向到root,html5路由,angular2

  3. 3

    从 AuthenticateLocalAsync 重定向到外部提供程序

  4. 4

    在路线服务提供商中重定向

  5. 5

    Spring REST调用提供了302重定向

  6. 6

    最佳的Joomla扩展类型,可提供简单的重定向功能

  7. 7

    如果未提供查询参数,则Angular 9重定向

  8. 8

    如何使表单重定向到Django中用户提供的URL?

  9. 9

    提供重定向到复合命令中使用的命令

  10. 10

    Spring REST调用提供了302重定向

  11. 11

    Nginx try_files重定向不提供CSS /图像

  12. 12

    如何设置重定向到JS函数提供的链接

  13. 13

    如何在 React 中创建重定向规则而不重定向到同一路由?

  14. 14

    重定向后重定向

  15. 15

    ADFS SAML身份提供程序重定向到状态为“响应者”的服务提供程序

  16. 16

    如何知道此请求是否由Silex中的重定向触发?

  17. 17

    访问代理中由apache和nginx托管的wordpress时重定向到127.0.0.1

  18. 18

    AngularJS 2路由:登录后重定向到仪表板

  19. 19

    反应从基于id的路由重定向到404路由

  20. 20

    无法从301路由器重定向上的URL中提取:page参数

  21. 21

    S3路由规则中的重定向主页

  22. 22

    Angular2路由器-canActivate使用发布请求进行重定向

  23. 23

    Django:如果 url 是由用户手动编写的,则重定向

  24. 24

    当用户提供重定向URL时,如何在yii中完全删除index.php

  25. 25

    如何在Chrome扩展程序中为OAuth2提供重定向URL?

  26. 26

    如何使用社交提供程序成功登录后设置重定向URL

  27. 27

    自定义会员资格提供者不会重定向

  28. 28

    OS X:“ man”输出在重定向时提供了额外的字符

  29. 29

    Magento 1.8 / 1.9 checkout / cart / add / uenc /提供302重定向

热门标签

归档