2012-07-26 24 views
0

我有Symfony 1.4 web應用程序。 假設我的應用程序託管在example.com上,那裏有FAQ頁面。Symfony:處理URL中的「%」轉義符號

當我參考我的應用程序是這樣的: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路由網址與正確的轉義字符?

+0

如何你建立你的網址是什麼? (將代碼粘貼到使用'url_for'和/或'link_to'的地方) – j0k 2012-07-26 08:06:14

+0

這不是一個內部站點鏈接,因此不使用url_for/link_for。此鏈接(http://example.com/faq#fa1)發佈在Web上的外部資源上,其中一些資源自動轉義爲「#」符號,如「%23」,然後,當外部資源用戶單擊鏈接時,他們會看到我的網站的404頁面 – Oleg 2012-07-26 17:01:32

回答

0
+0

感謝您的研究,我想我會嘗試利用Apache mod_rewrite規則來處理這個逃脫的角色,不管怎樣,我都會讚賞任何想法。 – Oleg 2012-07-26 18:41:53