【问题标题】:Possible to have ampersands ("&") in URL BEFORE the query string?在查询字符串之前的 URL 中可能有与号(“&”)吗?
【发布时间】:2011-01-28 06:38:45
【问题描述】:

我的客户确定在/nfm&t 有一个页面,所以我创建了一个名为nfm&t 的目录,并带有一个index.html(用于测试)并且该URL 仍然抛出404。所以显然这并不容易。

有什么想法吗?或者有没有办法将nfm&t 重定向到nfmt,以便至少解析 URL?

顺便说一下,这是一个 Windows 服务器,它让我习惯于重定向。

【问题讨论】:

  • 你尝试过像/nfm%26t这样的正确编码吗?

标签: url redirect ampersand windows-server


【解决方案1】:

打开AllowRestrictedChars 并启用VersionCompatibility 应该可以做到。

【讨论】:

    【解决方案2】:

    为什么 Windows Server 会影响您进行重定向的方式?如果您使用的是 IIS 7,则可以使用 URL Rewrite Module。它内置在 IIS 中。如果您使用的是 IIS 6,则有 ISAPI Rewrite,它是一个外部模块。两者都使用与 Apache 的 mod_rewrite 相同的语法。

    【讨论】:

      【解决方案3】:

      你有 /nfm 目录吗?如果没有,请尝试制作一个。无论哪种方式,放入一个 Default.aspx 文件并让它向您吐出它试图访问的确切路径。很有可能,当你在这里拥有这个时,它会转到 example.com/nfm/Default.aspx 并让你从那里运行一些东西。

      如果您确实到达了该目录,请尝试重定向到 example.com/nfm%26t 并查看它是否有效。如果这仍然没有帮助,那么你就是 SOL

      【讨论】:

        【解决方案4】:

        我在带有 Apache 的 Snow Leopard (OSX 10.6.2) 工作站上尝试了这个,它可以工作。那是从 Firefox 3.6 开始的。看起来像你正在努力解决的 Windows 问题。老实说,我不认为没有编码就可以工作,但你永远不会知道,直到你尝试。

        alt text http://www.vertigrated.com/images/so_screenshot.png

        【讨论】:

          【解决方案5】:

          或者有没有办法只重定向 nfm&t 转为 nfmt,使 URL 位于 最少解决?

          当然。制作一个通用的 url 处理程序和/或错误处理程序。当它遇到一个 url 时,如果该 url 等于/nfm&t,那么在后台将上下文重写为您真正想要返回的任何页面。这是一个好主意吗?可能不是。但它会起作用。基思的回答提出了两种获取 url 并执行操作的方法,但如果您使用的是 .Net,您也可以通过全局 asax 文件执行此操作(当您遇到错误时要小心执行 aspx 页面,以便它实际被命中) .

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-12-09
            • 2017-05-22
            • 2015-08-12
            • 2010-10-06
            • 2016-03-09
            • 1970-01-01
            • 2011-07-18
            • 1970-01-01
            相关资源
            最近更新 更多