【问题标题】:Symfony: deal with "%" escaped symbols in URLSymfony:处理 URL 中的“%”转义符号
【发布时间】:2012-07-26 07:45:34
【问题描述】:

我有 Symfony 1.4 网络应用程序。 假设我的应用托管在 example.com 上,并且那里有常见问题解答页面。

当我这样引用我的应用程序时:http://example.com/faq#faq1 一切正常。 但是当“#”被转义时:http://example.com/faq%23faq1

我在 symfony 生成的日志中看到以下消息:

[err] {sfError404Exception} Empty module and/or action after parsing the URL "/faq#faq1" (/).

所以,看起来 Symfony 识别出了“#”,但未能正确路由它。

routing.yml:

faq:
  url: /faq
  param: { module: static, action: faq }
  requirements:
    sf_method: [get]

如何让 Symfony 正确路由带有转义字符的 URL?

【问题讨论】:

  • 如何建立你的网址? (粘贴你使用url_for和/或link_to的代码)
  • 这不是内部站点链接,所以不使用 url_for/link_for。此链接(example.com/faq#fa1 发布在 Web 上的外部资源上。其中一些资源会自动转义“#”符号,例如“%23”。然后,当该外部资源用户单击该链接时,他们会看到我的网站的 404 页面-网站。

标签: url escaping symfony-1.4


【解决方案1】:

这不是 Symfony 的问题。这不是你的问题。问题出在逃跑的人#

我举了几个例子:

等等……等等……

【讨论】:

  • 感谢您的研究。我想,我会尝试利用 Apache mod_rewrite 规则以某种方式处理这个转义字符。任何关于如何做到这一点的想法都值得赞赏。
猜你喜欢
  • 2016-11-18
  • 2021-11-10
  • 1970-01-01
  • 2013-05-13
  • 1970-01-01
  • 2014-01-04
  • 2012-10-24
  • 1970-01-01
  • 2012-02-19
相关资源
最近更新 更多