2012-07-26 5 views
0

Symfony 1.4 웹 응용 프로그램이 있습니다. 내 앱이 example.com에서 호스팅되고 거기에 FAQ 페이지가 있다고 가정 해 보겠습니다.symfony : URL의 "%"이스케이프 기호 처리

내 응용 프로그램을 다음과 같이 말하면 : http://example.com/faq#faq1 모든 것이 잘 작동합니다. 그러나 "#"는 탈출 할 때 : http://example.com/faq%23faq1

나는 심포니에 의해 생성 된 로그에 다음과 같은 메시지가 나타나면 : 그래서

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

, 그것은 심포니는 "#"는이 인식처럼 보이지만 제대로 경로를 실패 .

routing.yml : 내가 제대로 탈출 문자로 경로 URL에 심포니을 어떻게

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

?

+0

URL을 만드는 방법은 무엇입니까? ('url_for' 또는/또는'link_to'를 사용하는 곳에 코드 붙여 넣기) – j0k

+0

이것은 내부 사이트 링크가 아니므로 url_for/link_for가 사용되지 않습니다. 이 링크 (http://example.com/faq#fa1는 웹의 외부 리소스에 게시됩니다. 일부 리소스는 자동으로 "% 23"과 같은 "#"기호를 이스케이프합니다. 그런 다음 외부 리소스 사용자가 링크를 클릭하면 그들은 내 웹 사이트의 404 페이지를보고 있습니다 – Oleg

답변

0

이것은 Symfony 문제가 아닙니다. 그것은 당신의 문제가 아닙니다. 문제는 #을 피하는 사람들이 낳습니다.

나는 몇 가지 예에 나섭니다 : - http://www.rue89.com/faq#5.7
  • NOK - http://www.rue89.com/faq%235.7
  • OK - http://www.openbsd.org/faq/faq1.html#WhatIs
  • NOK - http://www.openbsd.org/faq/faq1.html%23WhatIs
  • OK - http://www.copyright.gov/help/faq/faq-general.html#register
  • NOK -

    기타 ...

  • +0

    연구 해 주셔서 감사합니다. 나는 어떻게 든 이스케이프 된 문자를 처리하기 위해 Apache mod_rewrite 규칙을 활용하려고합니다.이 작업을 수행하는 방법에 대한 아이디어는 높이 평가됩니다. – Oleg

    관련 문제