/{category}
以下的路徑,而且我有類別名稱爲
Category/Brand
如果URL是這樣的:
domain.com/Company/Brand
然後我收到錯誤500有關/符號。
但是,如果在樹枝我做
company.name|url_encode()
然後我得到
Company%2F%Brand
(代碼可能是錯的,不記得現在)
但儘管如此Symfony的告訴我,有沒有匹配
和路由給我404
我怎樣才能解決這個問題?
/{category}
以下的路徑,而且我有類別名稱爲
Category/Brand
如果URL是這樣的:
domain.com/Company/Brand
然後我收到錯誤500有關/符號。
但是,如果在樹枝我做
company.name|url_encode()
然後我得到
Company%2F%Brand
(代碼可能是錯的,不記得現在)
但儘管如此Symfony的告訴我,有沒有匹配
和路由給我404
我怎樣才能解決這個問題?
好的!
我找到了解決辦法here。
#PUBLICATION URL ###_publication: pattern: /{username}/{category}/{publicationid} defaults: { _controller: ###:Default:publication } requirements: _method: GET category: .+ username: .+ publicationid: \d+ #CATEGORY - should be at very end, to match all other URLS ###_category: pattern: /{category} defaults: { _controller: ###:Default:category } requirements: _method: GET category: .+
如果你的路由/ {}類和您鍵入的是domain.com/Company/Brand的URL,錯誤是正常的。
你必須配置在這樣的routing.yml路線:
Company/{category}
我到底需要domain.com/company/brand或公司%%%%品牌或類似這樣的東西。 – 2012-07-30 21:03:43
是你的所有類別的名字一樣,一個或只有一些?
如果所有的人都遵循這一結構,你可以改變的路線:
/{company}/{brand}
並改變相應的控制器接受兩個變量,而不是一個。後來你可以連接它們或者做任何你需要的東西
如果只有它們中的一些具有這種結構,你可以嘗試用控制器中的某個字符組合替換目錄分隔符,它創建鏈接,然後在該路線的控制器。例如,在控制器的模板,其中的鏈接顯示,你可以
$nameEncoded = str_replace ('/','%%%%',$companyName);
通這個變量的模板,並用它來生成的鏈接,然後在接收控制器做:
$nameDecoded = str_replace ('%%%%','/',$companyName);
你能指定500錯誤的文本嗎? – 2012-07-30 19:43:04